Potential issue with verlet buffer and rlist in the 2024 releases (MARTINI force field)
Summary
Dear GROMACS developers,
We recently ran into an issue with the MARTINI (v3.0) force field (with the De Jong non-bonded parameters) and the latest GROMACS 2024 releases.
After performing brief energy minimisation (steepest descent) on an INSANE-generated DOPC bilayer (solvation and addition of NaCl also with INSANE), subsequent NVT equilibration failed when carried out with GROMACS 2024.0 and 2024.2. We have never had these issues previously, using various GROMACS versions (2020 through 2023). This system is named equil_DOPC-2024_0
in the attached xz archive.
We set up the same simulation with 2023.3 (named equil_DOPC-2023_3
in the xz archive), where everything proceeded smoothly. Running this (2023.3-generated) simulation with 2024.0 mdrun
also resulted in a run that crashed immediately (named equil_DOPC-2023_3-mdrun2024_0
in the xz archive).
It appears the issue might be related with GROMACS not modifying rlist
after increasing nstlist
when the verlet scheme is used (default verlet buffer tolerance). Disabling the verlet buffer (by setting verlet-buffer-tolerance = -1
) and setting rlist = rcoulomb = rvdw = 1.1
results in a non-crashing simulation (albeit not ideal from an energy conservation point but it could be easily set to 1.4 for example). This run is named equil_DOPC-2024_0-rlist_1.1-vb_off
in the xz archive.
This behaviour was observed on two very different sets of hardware in our lab (only attaching the gmx -quiet --version
output for one of them below) and also across different parallelisation schemes (1-32 threads, GPU/CPU builds).
GROMACS version
❯ gmx -quiet --version
:-) GROMACS - gmx, 2024 (-:
Executable: /home/software/software/gromacs/gromacs-2024.0-cpu/bin/gmx
Data prefix: /home/software/software/gromacs/gromacs-2024.0-cpu
Working dir: -
Command line:
gmx -quiet --version
GROMACS version: 2024
Precision: mixed
Memory model: 64 bit
MPI library: thread_mpi
OpenMP support: enabled (GMX_OPENMP_MAX_THREADS = 128)
GPU support: disabled
SIMD instructions: AVX2_256
CPU FFT library: fftw-3.3.8-sse2-avx-avx2-avx2_128
GPU FFT library: none
Multi-GPU FFT: none
RDTSCP usage: enabled
TNG support: enabled
Hwloc support: disabled
Tracing support: disabled
C compiler: /usr/bin/cc GNU 11.4.0
C compiler flags: -fexcess-precision=fast -funroll-all-loops -mavx2 -mfma -Wno-missing-field-initializers -O3 -DNDEBUG
C++ compiler: /usr/bin/c++ GNU 11.4.0
C++ compiler flags: -fexcess-precision=fast -funroll-all-loops -mavx2 -mfma -Wno-missing-field-initializers -Wno-cast-function-type-strict -fopenmp -O3 -DNDEBUG
BLAS library: Internal
LAPACK library: Internal
Steps to reproduce
The attached archive contains all the relevant files. Simply running any of the tpr files with a 2024 GROMACS release should result in the simulation crashing immediately.
What is the current bug behavior?
The rlist
is not modified and the simulation crashes as soon as it starts.
What did you expect the correct behavior to be?
We expected the rlist
to be modified accordingly.
All the log files are included in the attached archive.
Possible fixes
Nothing other than the suspicion that the rlist
modification as a result of using the verlet scheme never actually takes place in this system for some reason.