GROMACS 2016.5 Release Notes#
This version was released on February 16, 2018. These release notes document the changes that have taken place in GROMACS since version 2016.4 to fix known issues. It also incorporates all fixes made in version 5.1.5 (which was the last planned release in that series).
Fixes where mdrun could behave incorrectly#
Fixed triclinic domain decomposition bug#
With triclinic unit-cells with vectors a,b,c, the domain decomposition would communicate an incorrect halo along dimension x when b[x]!=0 and vector c not parallel to the z-axis. The halo cut-off bound plane was tilted incorrect along x/z with an error approximately proportional to b[x]*(c[x] - b[x]*c[y]/b[y]). When c[x] > b[x]*c[y]/b[y], the communicated halo was too small, which could cause instabilities or silent errors. When c[x] < b[x]*c[y]/b[y], the communicated halo was too large, which could cause some communication overhead.
Required -ntmpi with setting -ntomp with GPUs#
With GPUs and thread-MPI, setting only
-ntomp could lead to
oversubscription of the hardware threads.
Now with GPUs and thread-MPI the user is required to set
-ntomp. Here we chose that to also require
-ntmpi when the user
-ntomp; here we could infer the number of
ranks, but it’s safer to ask the user to explicity set
Note that specifying both
-nt has always worked correctly.
Prevented dynamic load balancing activating immediately after exchange#
Turning on DLB right after exchanging replicas caused an assertion failure and is also useless.
Avoided confusing message at end of non-dynamical runs#
EM, TPI, NM, etc. are not targets for performance optimization so we will not write performance reports. This commit fixes and oversight whereby we would warn a user when the lack of performance report is normal and expected.
Changed to issue fewer messages when
-cpi checkpoint file is not present#
Removed duplicated message.
Disallowed combination of PME-user and Verlet cutoff#
Added missing Ewald correction for pme-user#
coulomb-type = pme-user, the Ewald mesh energy was not subtracted
leading to (very) incorrect Coulomb energies and forces.
Fixed thread-MPI rank choice for orientation restraints#
Only a single rank is supported, so that must be what the thread-MPI code will choose. There’s another check later on that catches the multi-rank MPI case.
Fixed nstlist increase warning print#
The log file warning message had a buggy conditional which this commit fixes.
Removed incorrect comment for CHARMM tips3p#
Fixed incorrect dV/dlambda for walls#
The free-energy derivative dV/dlambda for walls, which can be perturbed by changing atom types of non-wall atoms, only contained the B-state contribution.
Fixed warning for confout with periodic molecules#
With periodic molecules,
gmx mdrun would incorrectly attempt to make
molecules whole for writing the final state to confout.
Fixed wrong megaflop accounting#
Some nrnb index entries were missing in the interaction_function array, leading to that wrong megaflops accounting printed.
gmx grompp net charge check#
The grompp check for the net charge would ignore molecule blocks at the end when molecule types are used in multiple, non consecutive molecule blocks.
gmx grompp missing energy term message#
gmx genion charge summation accuracy#
gmx genion accumulated the charge is a float, which could cause
underestimation of the net charge for highly charged systems.
gmx check for tprs with different #atoms#
gmx grompp with Andersen massive and no COM removal#
Fixed a floating point exception leading to a crash.
Also fixed possible different rounding for the interval for
Andersen massive in
gmx grompp from
gmx mdrun for
the common case where
tau_t is a multiple of
Updated documention of Nose-Hoover output#
The documentation of Nose-Hoover chain variable printing was (long) outdated.