C-rescale barostat and simulated annealing

GROMACS version: 2025.4 / 2021
GROMACS modification: 2025.4 (No) / 2021 (Yes)

Hi,

I recently stumbled across an issue running grompp for a simulation using simulated annealing. For temperature coupling I am using the v-rescale thermostat (Membrane and Solvent coupled separately) and for pressure coupling the c-rescale barostat. If I want to grompp the system with GROMACS 2025.4 it tells me that:

ERROR 1 [file ../minimal_setup/run_annealing_trash.mdp]:
Can not use the C-rescale barostat without an ensemble temperature for
the system

However, using an older GROMACS version (2021) the gmx grompp runs without an error and the .tpr gets produced. Was there a bug detected between the two versions that affects the reliability of simulations using c-rescale + simulated annealing in older GROMACS versions? Unfortunately, I am bound to this older version and I am asking myself if it is worth to repeat the simulations using Parrinello Rahman. I just found this thread discussing c-rescale without temperature coupling, but this is not the case for simulated annealing simulations in which the temperature is linearly shifted.

My .mdp file looks like that:
integrator = md
dt = 0.002
nsteps = 500000000
nstxout-compressed = 50000
nstxout = 0
nstvout = 0
nstfout = 0
nstcalcenergy = 100
nstenergy = 1000
nstlog = 1000
;
cutoff-scheme = Verlet
nstlist = 20
rlist = 1.2
vdwtype = Cut-off
vdw-modifier = Force-switch
rvdw_switch = 1.0
rvdw = 1.2
coulombtype = PME
rcoulomb = 1.2
;
tcoupl = v-rescale
tc_grps = MEMB SOLV
tau_t = 1.0 1.0
ref_t = 325 325
gen_vel = yes
gen_temp = 325
;
pcoupl = Parrinello-Rahman ; switching to C-rescale breaks grompp
pcoupltype = semiisotropic
tau_p = 5.0
compressibility = 4.5e-5 4.5e-5
ref_p = 1.0 1.0
;
constraints = h-bonds
constraint_algorithm = LINCS
continuation = no
;
annealing = single single
annealing-npoints = 2 2
annealing-temp = 325 298 325 298
annealing-time = 0 270000 0 270000
;
nstcomm = 100
comm_mode = linear
comm_grps = MEMB SOLV

Thank you very much for your time and answers!

Best wishes,
Marius

This is because you use multiple temperature coupling groups. We anyhow advise to use a single group for the whole system. Then it will work.

We have a clear error message for this, but unfortunately another check generates this unclear error message before that.

1 Like

Okay, so I can circumvent it by using one temperature coupling group. But if I use multiple groups with the same reference temperatures, it should not be a problem, or?

In practice there will be no difference between using one or two groups for any system that is not very small. But formally one group is more correct. Using multiple groups is, in most cases, a leftover to avoid artifacts of inaccurate algorithms of decades ago.