Does freeze-grps speed up MD?

GROMACS version: 2020.3
GROMACS modification: No

Is there a speed up when you freeze groups of atoms instead of applying position restraints?
My system: protein, membrane, ions and water. 131817 atoms. 93 x 93 x 149 angstroms box. I am trying to keep protein and membrane frozen using freeze group and position restraint methods. Restraint strength: 4000 kJ/mol/nm

I have done MD using both methods, and here’s my results in MD run time:
freeze: 42 min 53 sec
position restraint: 38 min 30 sec

So using position restraints is actually faster here. I am not sure why that’s the case because I thought freezing atoms will speed up MD as gromacs doesn’t need to calculate interactions between atoms that are frozen. Any insight will be appreciated.

Also here’s my mdps for both runs:
Freeze method:
title = Q10 pulling simulation
; Run parameters
integrator = sd
dt = 0.001
tinit = 0
nsteps = 300000 ; 300 ps
nstcomm = 1 ; global communication frequency
; Output parameters
nstxout = 0 ; every 0.5 ps
nstvout = 0
nstfout = 0
nstxtcout = 500 ; every 0.5 ps
nstenergy = 500

freezegrps = Protein POPC
freezedim = Y Y Y Y Y Y
comm_mode = None

; Bond parameters
constraint_algorithm = lincs
lincs_iter = 2
constraints = all-bonds
;continuation = yes ; continuing from NPT
; Single-range cutoff scheme
nstlist = 20
ns_type = grid
rlist = 1.2
rcoulomb = 1.2
rvdw = 1.2
; Berendsen temperature coupling is on in two groups
Tcoupl = berendsen ;berendsen
tc_grps = System
tau_t = 2
ref_t = 310
; Pressure coupling
Pcoupl = no ;berendsen
pcoupltype = isotropic
tau_p = 1.0
compressibility = 4.5e-5
ref_p = 1.0
refcoord_scaling = com
; Generate velocities is off
; Periodic boundary conditions are on in all directions
pbc = xyz
gen_vel = yes
gen_temp = 310
gen_seed = 290389

restraint method (position restraints are defined in the topology file):
title = Q10 pulling simulation
; Run parameters
integrator = sd
dt = 0.001
tinit = 0
nsteps = 300000 ; 300 ps
nstcomm = 1 ; global communication frequency
; Output parameters
nstxout = 0 ; every 0.5 ps
nstvout = 0
nstfout = 0
nstxtcout = 500 ; every 0.5 ps
nstenergy = 500
comm_mode = None

; Bond parameters
constraint_algorithm = lincs
lincs_iter = 2
constraints = all-bonds
;continuation = yes ; continuing from NPT
; Single-range cutoff scheme
nstlist = 20
ns_type = grid
rlist = 1.2
rcoulomb = 1.2
rvdw = 1.2
; Berendsen temperature coupling is on in two groups
Tcoupl = berendsen ;berendsen
tc_grps = System
tau_t = 2
ref_t = 310
; Pressure coupling
Pcoupl = no ;berendsen
pcoupltype = isotropic
tau_p = 1.0
compressibility = 4.5e-5
ref_p = 1.0
refcoord_scaling = com
; Generate velocities is off
; Periodic boundary conditions are on in all directions
pbc = xyz
gen_vel = yes
gen_temp = 310
gen_seed = 290389

Hi,

Frozen atoms still interact with the rest of the system. In fact, the force for each frozen atom is still calculated, it’s just that these atoms are excluded from the update phase where position changes are propagated.

Kevin

Correct! To exclude such calculations and speed up the simulation you need to use energy group exclusions along with freeze group:
https://manual.gromacs.org/current/user-guide/mdp-options.html#energy-group-exclusions