Regression tests of gromacs with PLUMED v2.10

These tests are specific to gromacs: they check parts of its interface with PLUMED that the general tests do not cover. Each test checks a property that must hold for any version of PLUMED and of gromacs, such as a PLUMED bias that must act as the same bias applied by gromacs, or the same simulation that must give the same results in two ways of running it, so that no reference results are stored. A test is skipped when this version of gromacs does not have the feature it tests. The tests, and how to run them on your own computer, are in the directory of the code in the repository of the testcenter.

Test What it checks Status Result
energy ENERGY equals the potential energy of GROMACS at every step, on 1 and 2 ranks PASS relative difference 1 ranks: 5e-10, 2 ranks: 4e-08
pull a RESTRAINT on the distance of two water oxygens acts as the GROMACS pull code: same positions over 20 steps, forces at step 0, and virial every 5 steps (the virial is computed on those steps only) PASS PLUMED against pull code, 1 rank: max |dx| 1e-05 nm, |df|/max|f| at step 0 7.4e-09, |dvirial| at step 0 0 kJ/mol, max 0.084 kJ/mol
pull-dd as pull, on 2 ranks PASS PLUMED against pull code, 2 ranks: max |dx| 1e-05 nm, |df|/max|f| at step 0 7.4e-09, |dvirial| at step 0 0 kJ/mol, max 0.113 kJ/mol
pull-energy as pull, with ENERGY in the PLUMED input (PLUMED then runs when the energy is complete) PASS PLUMED against pull code, 1 rank: max |dx| 1e-05 nm, |df|/max|f| at step 0 7.4e-09, |dvirial| at step 0 0 kJ/mol, max 0.111 kJ/mol
pull-mts as pull, with multiple time stepping and ENERGY needed on the slow steps PASS PLUMED against pull code, 1 rank: max |dx| 1e-05 nm, |df|/max|f| at step 0 7.4e-09, |dvirial| at step 0 0 kJ/mol, max 0.133 kJ/mol
mts-fast-step with multiple time stepping, mdrun stops with an error if PLUMED needs the energy on a fast step PASS stops with an error
vsite a RESTRAINT between two virtual sites (TIP4P M sites) acts the same with and without ENERGY in the PLUMED input (with ENERGY, PLUMED runs after GROMACS spread the forces on the virtual sites), on 1 and 2 ranks PASS with ENERGY against without, 1 rank: max |dx| 1e-05 nm, |df|/max|f| at step 0 7.4e-09, |dvirial| at step 0 0 kJ/mol, max 0.156 kJ/mol; with ENERGY against without, 2 ranks: max |dx| 1e-05 nm, |df|/max|f| at step 0 7.4e-09, |dvirial| at step 0 0.0078 kJ/mol, max 0.117 kJ/mol
energy-bias a bias s*ENERGY multiplies all the forces by 1+s, also with virtual sites PASS forces are 0.5 times the unbiased ones within 3e-06 of the largest force
energy-bias-dd with a bias on ENERGY, the virial is the same on 1, 2 and 3 ranks PASS same virial within 7e-05 kJ/mol
em energy minimization with a restraint: the same steps on 1 and 2 ranks, and with and without ENERGY (restraints between two oxygens and between two virtual sites) PASS oxygens: same 18 distances; vsites: same 19 distances
data PLUMED gets the positions, box, masses, charges and time of GROMACS PASS positions, box, time, masses and charges match
checkpoint PLUMED writes its state (OPES STATE_WFILE with STORE_STATES) at the steps where GROMACS writes a checkpoint, on 1 and 2 ranks PASS 1 ranks: 10 states at the 10 checkpoint steps; 2 ranks: 17 states at the 17 checkpoint steps
committor COMMITTOR stops mdrun soon after committing, with a final checkpoint, on 1 and 2 ranks PASS 1 ranks: committed at 250, stopped at 251 with a checkpoint; 2 ranks: committed at 250, stopped at 251 with a checkpoint
committor-walkers with two simulations (-multidir), all of them stop when one commits PASS both stopped at step 401
rerun a rerun of a trajectory gives the CVs that PLUMED computed in the run, on 1 and 2 ranks; a stop request (COMMITTOR) ends the rerun PASS 1 ranks: same CVs; 2 ranks: same CVs; COMMITTOR stops it
hrex -hrex with two identical replicas: the PLUMED energy difference is 0 (1 and 2 ranks per replica), and PLUMED does not calculate again on the exchange steps (one COLVAR line per step, the expected hills) SKIP -hrex is only in the legacy patches
shells shell (polarizable) particles: PLUMED is applied once per step, also in a rerun, and mdrun warns when PLUMED needs the energy, which is the one before the shells are relaxed (or mdrun refuses shells) PASS one PLUMED update per step, also in a rerun; a warning with ENERGY
expanded expanded ensemble: PLUMED’s lambda is the lambda state of GROMACS; with lmc-stats other than ‘no’, GROMACS still updates the weights SKIP lambda dynamics with PLUMED is only in the legacy patches
md-vv md-vv runs with PLUMED (the legacy patches use the legacy simulator, which supports it) PASS runs
replex-nex replica exchange with -nex, which ignores the PLUMED bias, is refused SKIP replica exchange with a PLUMED bias is only in the legacy patches
replex-bias temperature replica exchange with a PLUMED bias: the legacy patches add the bias to the exchange criterion; the native module refuses it with a clear error PASS refused with a clear error
gpu-buffer-ops with nonbonded and PME on the GPU, the restraint acts the same with GPU force buffer operations SKIP not a CUDA build

The text files of the runs (inputs, logs and output of PLUMED) are available in this zip archive.