Problems on segmentation fault

GROMACS version: 5.1.1 and 5.0.7
GROMACS modification: No

I was trying to run nvt on a carbon nanotube in water filled box. Hydrogen atoms were added with the carbon atoms of the two sides of the tube using pymol. I restrained the CNT (with H atoms) using a position restraint file. But, whenever I try to run the simulation, I encounter an error.

WARNING: Listed nonbonded interaction between particles 16 and 30
at distance 24.330 which is larger than the table limit 2.240 nm.

This is likely either a 1,4 interaction, or a listed interaction inside
a smaller molecule you are decoupling during a free energy calculation.
Since interactions at distances beyond the table cannot be computed,
they are skipped until they are inside the table limit again. You will
only see this message once, even if it occurs for several interactions.

IMPORTANT: This should not happen in a stable simulation, so there is
probably something wrong with your system. Only change the table-extension
distance in the mdp file if you are really sure that is the reason.

Segmentation fault (core dumped)

Whenever I try to redo the nvt run, only the value of distance between two random particles change. everything else in the warning remains the same.

The cnt was placed in the center of the box. Every atom including the CNT and solvent is in the box.

I did some research and came up with the term “blowing up”. As I am a newbie in gromacs I blindly carried out some suggestions but in vail. Here are the list of my trials:

  1. I tried switching “couple-intramol” in nvt.mdp to “yes”
  2. Reduced dt from 0.002 to 0.001
  3. Minimized the cnt before adding H atoms using emtol = 170
  4. set table extension limit to 3. this worked for nvt and npt but main simulation got the exact same warning.

What should be done to solve this segmentation fault? any help will be really appreciated.

N.B. I found out, if I do not add H atoms to the cnt, the simulation works just fine. The fault arises whenever I add H atoms to the CNT.

my nvt.mdp file is given below:

define = -DPOSRES ; position restrain the protein
; Run parameters
integrator = md ; leap-frog integrator
nsteps = 5000 ; 10ps
dt = 0.002 ; 2 fs
; Output control
nstxout = 500 ; save coordinates every 1.0 ps
nstvout = 500 ; save velocities every 1.0 ps
nstenergy = 500 ; save energies every 1.0 ps
nstlog = 500 ; update log file every 1.0 ps

; Bond parameters
;continuation = no ; first dynamics run
;constraint_algorithm = lincs ; holonomic constraints
;constraints = all-bonds ; all bonds (even heavy atom-H bonds) constrained
;lincs_iter = 1 ; accuracy of LINCS
;lincs_order = 4 ; also related to accuracy
; Neighborsearching
;cutoff-scheme = Verlet
vdw-type = Cut-off
ns_type = grid ; search neighboring grid cells
nstlist = 10 ; 20 fs, largely irrelevant with Verlet
rlist = 1.2
rcoulomb = 1.2 ; short-range electrostatic cutoff (in nm)
rvdw = 1.2 ; short-range van der Waals cutoff (in nm)

; Electrostatics

coulombtype = PME ; Particle Mesh Ewald for long-range electrostatics
pme_order = 4 ; cubic interpolation
fourierspacing = 0.1 ; grid spacing for FFT

; Temperature coupling is on
tcoupl = Berendsen ; modified Berendsen thermostat
tc-grps = system; two coupling groups - more accurate
tau_t = 0.1 ; time constant, in ps
ref_t = 300 ; reference temperature, one for each group, in K
; Pressure coupling is off
pcoupl = no ; no pressure coupling in NVT
; Periodic boundary conditions
pbc = xyz ; 3-D PBC
; Dispersion correction
;DispCorr = EnerPres ; account for cut-off vdW scheme
; Velocity generation
gen_vel = yes ; assign velocities from Maxwell distribution
gen_temp = 300 ; temperature for Maxwell distribution
gen_seed = -1 ; generate a random seed

It seems that there is a problem in the setting of the system. Are H atoms properly located? Is the system energy minimized?
What types of particles are 16 and 30 ? How do you define the interaction between C and H atoms? Do you get some warning in pre-processing (grompp)?
to which atoms do you apply position restrain (mdp file: define = -DPOSRES)?

Kind regards

  1. H atoms properly located?
    Yes, each H atom is located to the two outer ring carbon atoms of CNT.

  2. Is the system energy minimized?
    Yes, I minimized the energy of the cnt with hydrogens (emtol = 170). After that, I added solvent in the system before running nvt.

  3. What types of particles are 16 and 30 ?
    They are both hydrogen atoms. Sometimes they are carbon and hydrogen.

  4. How do you define the interaction between C and H atoms?
    Bonded interaction. used function type 1 for C-H bond and function type 3 for C-C bond. Function type 2 was used for C-C-C angle. Function type 1 for C-C-H. Function type 3 was used for dihedrals.

  5. Do you get some warning in pre-processing (grompp)?
    No. there are 3 notes though.

NOTE 1 [file nvt.mdp, line 52]:
nvt.mdp did not specify a value for the .mdp option “cutoff-scheme”. Probably it was first intended for use with GROMACS before 4.6. In 4.6, the Verlet scheme was introduced, but the group scheme was still the default. The default is now the Verlet scheme, so you will observe different behaviour.

NOTE 2 [file nvt.mdp]:
The Berendsen thermostat does not generate the correct kinetic energy distribution. You might want to consider using the V-rescale thermostat. Setting the LD random seed to 1908107043
Generated 332518 of the 332520 non-bonded parameter combinations
Generating 1-4 interactions: fudge = 1
Generated 332520 of the 332520 1-4 parameter combinations
Excluding 3 bonded neighbours molecule type ‘CNT’
Excluding 2 bonded neighbours molecule type ‘SOL’
Setting gen_seed to 3502066296
Velocities were taken from a Maxwell distribution at 300 K
Removing all charge groups because cutoff-scheme=Verlet

NOTE 3 [file, line 14309]:
The bond in molecule-type CNT between atoms 1 C and 4 H has an estimated oscillational period of 1.1e-02 ps, which is less than 10 times the time step of 2.0e-03 ps.
Maybe you forgot to change the constraints mdp option.

  1. To which atoms do you apply position restrain (mdp file: define = -DPOSRES)?
    I applied position restrain to the carbon nanotube. That is to carbon and hydrogen atoms.

Normally with a time step 2 fs, constraints are necessary for bond involving light atoms like hydrogen. (see option ‘constraints’ in mdp file
Can you try to run using bond constraints (e.i constraints = h-bonds)? I see that the option is comment in your mdp file.

I notice that you used an old version of GROMACS. if you have the possibility, I suggest to move to a more recent version.

Best regards