GROMACS version: 2024
GROMACS modification: No
My research group recently upgraded our cluster from GROMACS 2016 to GROMACS 2024.1, and I’ve been running into a consistent but puzzling difference in the isothermal compressibility of pure water.
System:
-
1000 TIP4P/2005 waters
-
298.15 K
-
NVT → NPT (Parrinello–Rahman, isotropic)
-
Nose–Hoover thermostat
What’s happening:
On the old system (2016 build), this exact setup gave a κₜ ≈ 4.62 × 10⁻⁵ bar⁻¹, matching experiment perfectly.
When I moved to 2024.1, using the same workflow and the same force-field files, my κₜ jumped to around 5.0–5.2 × 10⁻⁵ bar⁻¹—a roughly 10 % increase in volume fluctuations. The density is still correct, so the problem is only in σ(V).
What I’ve tried so far:
-
Explicitly set
verlet-buffer-tolerance = 0.005andverlet-buffer-pressure-tolerance = -1(since defaults changed). -
Matched
nstpcouple,nsttcouple, and other timing parameters to the old run. -
Verified identical force-field and water model files.
-
Re-ran multiple times in 2024 → results are fully reproducible (so it’s not stochastic noise).
-
Finally, I took the exact TPR that was generated under GROMACS 2016 and ran it unchanged with the 2024 engine.
-
Result: the newer engine reproduces the 2024-style κₜ (≈ 5 × 10⁻⁵), not the old 2016 value.
-
So the discrepancy appears to stem from the engine version itself, not
gromppor the MDP.
-
MDP used (explicit values for changed defaults):
integrator = md
dt = 0.002
nsteps = 5000000
nstenergy = 50
nstlog = 500
nstxout-compressed = 250
constraint-algorithm = lincs
constraints = h-bonds
cutoff-scheme = Verlet
verlet-buffer-tolerance = 0.005
verlet-buffer-pressure-tolerance = -1
comm-mode = Linear
nstcomm = 100
coulombtype = PME
rcoulomb = 1.0
fourierspacing = 0.12
pme-order = 4
ewald-rtol = 1e-05
vdwtype = Cut-off
rvdw = 1.0
coulomb-modifier = Potential-shift
vdw-modifier = Potential-shift
DispCorr = EnerPres
tcoupl = Nose-Hoover
tc-grps = System
tau-t = 2.0
ref-t = 298.15
pcoupl = Parrinello-Rahman
pcoupltype = isotropic
tau-p = 4.0
compressibility = 4.46e-5
ref-p = 1.0
nstpcouple = 10
Summary:
-
The same TPR gives slightly larger volume fluctuations when run with the 2024 engine than with 2016.
-
The difference is reproducible across runs and nodes.
-
I’m wondering if any changes were made to the Parrinello–Rahman implementation, LINCS behavior, integration scheme, or precision handling that could alter volume fluctuations at the 1–2 % level.
Has anyone else observed this when upgrading from older releases? Any hints on what part of the integrator/barostat chain might have changed its effective coupling strength would be very helpful.
Thanks in advance for any insight!
— Jakob Schanzer