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.

Issue 2125

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 -ntmpi when using -ntomp. Here we chose that to also require -ntmpi when the user specified both -nt and -ntomp; here we could infer the number of ranks, but it’s safer to ask the user to explicity set -ntmpi. Note that specifying both -ntmpi and -nt has always worked correctly.

Issue 2348

Prevented dynamic load balancing activating immediately after exchange#

Turning on DLB right after exchanging replicas caused an assertion failure and is also useless.

Issue 2298

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.

Issue 2172

Changed to issue fewer messages when -cpi checkpoint file is not present#

Removed duplicated message.

Issue 2173

Disallowed combination of PME-user and Verlet cutoff#

Issue 2332

Added missing Ewald correction for pme-user#

With coulomb-type = pme-user, the Ewald mesh energy was not subtracted leading to (very) incorrect Coulomb energies and forces.

Issue 2286

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.

Issue 2267

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.

Issue 2275

Fixed wrong megaflop accounting#

Some nrnb index entries were missing in the interaction_function array, leading to that wrong megaflops accounting printed.

Issue 2274

Fixes for gmx tools#

Fixed 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.

Issue 2407

Extended gmx grompp missing energy term message#

Issue 2301

Fixed 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.

Issue 2290

Fixed gmx check for tprs with different #atoms#

Issue 2279

Fixed 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 delta_t.

Issue 2256

Improved documentation#

Updated documention of Nose-Hoover output#

The documentation of Nose-Hoover chain variable printing was (long) outdated.

Issue 2301

Clarified docs for Fmax in EM#