Regression tests of gromacs-vanilla with PLUMED v2.10
These tests are specific to gromacs-vanilla: 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-vanilla, such as a PLUMED bias that must act as the same bias applied by gromacs-vanilla, 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-vanilla 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 | 1 ranks: ENERGY differs from the potential energy by 1 (relative) | |
| 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) | 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.0996 kJ/mol | |
| pull-dd | as pull, on 2 ranks | 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.125 kJ/mol | |
| pull-energy | as pull, with ENERGY in the PLUMED input (PLUMED then runs when the energy is complete) | PLUMED against pull code, 1 rank: max |dx| 1e-05 nm, |df|/max|f| at step 0 7.4e-10, |dvirial| at step 0 0 kJ/mol, max 0.0449 kJ/mol | |
| pull-mts | as pull, with multiple time stepping and ENERGY needed on the slow steps | PLUMED against pull code, 1 rank: max |dx| 1e-05 nm, |df|/max|f| at step 0 0, |dvirial| at step 0 0 kJ/mol, max 0.0703 kJ/mol | |
| mts-fast-step | with multiple time stepping, mdrun stops with an error if PLUMED needs the energy on a fast step | mdrun exit 0, with no error about MTS | |
| 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 | 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.178 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.152 kJ/mol | |
| energy-bias | a bias s*ENERGY multiplies all the forces by 1+s, also with virtual sites | forces differ from 0.5 times the unbiased ones by up to 0.999 of the largest force | |
| energy-bias-dd | with a bias on ENERGY, the virial is the same on 1, 2 and 3 ranks | same virial within 0.00014 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) | oxygens: same 18 distances; vsites: same 19 distances | |
| data | PLUMED gets the positions, box, masses, charges and time of GROMACS | 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 | 1 ranks: states at steps [4425, 6625, 8875, 11100, 13350, 15575, 17800, 20000], checkpoints at [2300, 4500, 6750, 8975, 11225, 13450, 15675, 17875, 20000] | |
| committor | COMMITTOR stops mdrun soon after committing, with a final checkpoint, on 1 and 2 ranks | 1 ranks: committed at step 250, ran to step 20000 | |
| committor-walkers | with two simulations (-multidir), all of them stop when one commits | last steps [20000, 20000] | |
| 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 | rerun with COMMITTOR: committed at time 0.04, stopped after 11 of 11 frames (last time 0.4) | |
| 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) | -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) | 44 COLVAR lines (21 distinct), 6 hills | |
| expanded | expanded ensemble: PLUMED’s lambda is the lambda state of GROMACS; with lmc-stats other than ‘no’, GROMACS still updates the weights | 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) | runs | |
| replex-nex | replica exchange with -nex, which ignores the PLUMED bias, is refused | 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 | mdrun ran replica exchange without the PLUMED bias in the exchange criterion, and without an error | |
| gpu-buffer-ops | with nonbonded and PME on the GPU, the restraint acts the same with GPU force buffer operations | not a CUDA build |
The text files of the runs (inputs, logs and output of PLUMED) are available in this zip archive.