[Error] Umbrella sampling

GROMACS version: 2023.3
GROMACS modification: No

I have performed an unbiased simulation of 1 microsecond for interaction of a nanoparticle with a bilayer membrane without any errors (and expected results). I have used Martini FF.
Using the same mdp files (minimization and step-wise equilibration with increasing timestep) as used in unbiased simulation, I added the pull code to the production mdp of the unbiased simulation to generate starting configurations for umbrella sampling. However, I get the following error:

                  :-) GROMACS - gmx mdrun, 2023.3 (-:

Executable: /usr/local/gromacs/bin/gmx
Data prefix: /usr/local/gromacs
Working dir: /home/raman/Downloads/memb/OM/US_CNT
Command line:
gmx mdrun -v -deffnm pull -pf pullf.xvg -px pullx.xvg

Reading file pull.tpr, VERSION 2023.3 (single precision)
Changing nstlist from 20 to 25, rlist from 1.241 to 1.298

Update groups can not be used for this system because atoms that are (in)directly constrained together are interdispersed with other atoms

1 GPU selected for this run.
Mapping of GPU IDs to the 1 GPU task in the 1 rank on this node:
PP:0
PP tasks will do (non-perturbed) short-ranged interactions on the GPU
PP task will update and constrain coordinates on the GPU
Using 1 MPI thread
Using 12 OpenMP threads

starting mdrun ‘Martini system’
5000000 steps, 100000.0 ps.
step 400, will finish Mon Nov 11 00:55:49 2024

Program: gmx mdrun, version 2023.3
Source file: src/gromacs/gpu_utils/device_stream.cu (line 100)
Function: DeviceStream::synchronize() const::<lambda()>

Assertion failed:
Condition: stat == cudaSuccess
cudaStreamSynchronize failed. CUDA error #400
(cudaErrorInvalidResourceHandle): invalid resource handle.

For more information and tips for troubleshooting, please check the GROMACS
website at Common Errors — GROMACS webpage https://www.gromacs.org documentation

The mdp file for pull code is:

integrator = md
dt = 0.020
tinit = 0
nsteps = 5000000

nstxout = 5000
nstvout = 5000
nstfout = 5000
nstlog = 5000
nstenergy = 500
nstxout-compressed = 500
compressed-x-precision = 100
nsttcouple = 10
nstpcouple = 10
cutoff-scheme = Verlet
nstlist = 20

ns_type = grid
pbc = xyz

epsilon_r = 15
coulombtype = reaction-field
rcoulomb = 1.1
vdw_type = cutoff
vdw-modifier = Potential-shift-verlet
rvdw = 1.1

tcoupl = v-rescale
tc-grps = membrane solute
tau_t = 1.0 1.0
ref_t = 310 310

; Pressure coupling:
Pcoupl = Parrinello-rahman
Pcoupltype = semiisotropic
tau_p = 12.0
compressibility = 3e-4 3e-4
ref_p = 1.0 1.0

; GENERATE VELOCITIES FOR STARTUP RUN:
gen_vel = no
refcoord_scaling = all

; Pull code
pull = yes
pull_ncoords = 1 ; only one reaction coordinate
pull_ngroups = 2 ; two groups defining one reaction coordinate
pull_group1_name = NP
pull_group2_name = membrane
pull_coord1_type = umbrella ; harmonic potential
pull-cylinder-r = 2.0
pull_coord1_geometry = cylinder ; simple distance increase
pull-coord1-vec = 0.0 0.0 -1.0
pull_coord1_dim = N N Y
pull_coord1_groups = 1 2
pull_coord1_start = yes ; define initial COM distance > 0
pull_coord1_rate = 0.01 ; 0.01 nm per ps = 10 nm per ns
pull_coord1_k = 1000 ; kJ mol^-1 nm^-2
pull-group1-pbcatom = 3792
pull-group2-pbcatom = 1880
pull-pbc-ref-prev-step-com = yes
pull-nstxout = 50
pull-nstfout = 50

I tried changing pull-cylinder-r to 1.5 but the error persisted.

Can someone please help me resolving the error.

Thanks,
Raman

Adding to my previous post, there were no errors with grompp.

I’m not sure if it will fix the crash, but it’s at least worth seeing if it helps changing to:

pull_group1_name = membrane
pull_group2_name = NP

See Molecular dynamics parameters (.mdp options) - GROMACS 2024.4 documentation. The reference group is the first group listed in pull_coord1_groups.

Thank you @MagnusL . That worked like a charm.