Fixing NPT, NVT, NVE in Carbon Nanotube

Hello All,

While fixing NPT, NVT, NVE in a Carbon Nanotube (3,3) of length 3A [built in VMD], its working correctly upto NPT. Just after that, the error that is coming says “Bond atom missing in image check” which happens “because the pairwise cutoff is set too short or the bond has blown apart and an atom is too far away.”

So can someone please tell me what exactly is the remedey? Will I have to increase the scale factor (3.0) in pair_style? Did that upto 10 but to no use. Thanks for the help.

The input script is used :

dimension 3

units metal
atom_style molecular
read_data data.cnt
pair_style airebo 3.0 1 1

pair_coeff * * CH.airebo C
group Carbon type 1

thermo 1

thermo_style custom step temp epair pe ke etotal press vol
minimize 1.0e-6 1.0e-8 0.1 10000
fix 1 Carbon npt temp 300.0 300.0 0.1 iso 0 0 0.1

thermo 50
timestep 0.001
run 6000

unfix 1
fix 2 Carbon nvt temp 300.0 300.0 0.1

run 6000
unfix 2
fix 3 all nve

run 2000

AIREBO is an atomic style potential, so I suggest you use atom_style atomic.

A 3 angstrom long nanotube may be too short, another suggestion is to replicate the length by at least twice as long. This is because when the cutoff (3.0 times the longest LJ cutoff) is much larger than the box dimension for a complicated many-body potential, unexpected things can occur.

Have you visualized if an atom is too far away?


Hello Ray, Thanks for thre reply. When I used “atom_style atomic”, it did not even start the NPT simulations which it was doing before and the following error displayed:

ERROR on proc 0: No bonds allowed with this atom style (…/read_data.cpp:528)

I tried running for a (10,10) CNT of length 40 Angstorm and another (30,20) CNT of length 60 Angstorm. Now the error changed to this:

"ERROR on proc 0: Bond atom missing in box size check (…/domain.cpp:636)
ERROR on proc 1: Bond atom missing in box size check (…/domain.cpp:636)
ERROR on proc 2: Bond atom missing in box size check (…/domain.cpp:636)
ERROR on proc 3: Bond atom missing in box size check (…/domain.cpp:636)"

Can you please help me rectify the mistake? I will try visualising it which I have not done till now. Thank you so much.

So you tried to correct an error by making an even bigger error. Two wrongs don't make a right.
the fundamental problem is that you define bonds in your data file for a calculation that doesn't need them. Even if you don't define a bond potential, this leads to excluded nonbonded interactions and that sooner or later to bad dynamics. Check your trajectory, it will be wrong. Badly wrong.

The best solution is to remove the bond information from the data file or not even create it in the first place. The workaround is to turn off exclusions via setting all special_bond flags to one.

This has been discussed on this very mailing list many times, check the mailing list archives if you need a more detailed explanation.