Hi All,
I am simulating a protein using a very simple course grained model called elastic network model, where the bonded particles interact only via a harmonic potential and no other interactions at all in the system.
On a single processor my job is running fine but on multiple processors I am getting the error “Bond atom missing in box size check”
As per the manual - " Typically this is because the pairwise cutoff is set too short or the bond has blown apart and an atom is too far away". It is clear that my error is not due to the bad dynamics as the simulation is running fine on a single processor. On multiple processors I tried minimization, reducing the time step, but nothing worked.
My lammps script is very simple and is given below.
atom_style bond
bond_style harmonic
read_data input.dat
velocity all create 1.0 87287 loop geom
neighbor 0.3 bin # these 4 lines does not do anything related to the dynamics
neigh_modify delay 0 every 1 check yes
pair_style lj/cut 1.12
pair_coeff 1 1 0.0 1.0 1.12
fix 1 all nvt temp 1.0 1.0 0.5
thermo_style custom step temp ke pe etotal emol
thermo 1000
run 200000
Any suggestions would be very thankful.
Actually no to this, alas.
Running any simulation in parallel is (apparently) a more stringent
test of your system than running the simulation in serial. (I confess
not to understand why.) The important point is that you likely have
had some issues before which were not yet visible to you. Just
because something did not crash in serial does not mean the physics
were okay. Did you try running a test using "fix nve", to see if the
total energy was conserved? (I recall that with simulations of water,
people typically pick a timestep so that you can run NVE for several
hundred-thousand timesteps without more than a 1% change in the total
energy.)
Sometimes the "minimize" command does not converge very well. I don't
know if this is what happenned to you. When this happens, I've had
some success minimizing the system by quenching it with langevin
dynamics for a little while. (Use "fix langevin" (in combiniation with
"fix nve"), reducing the temperature rapidly.)
If that is not enough, (if total energy is not well conserved) then
you will have to us a smaller timestep for your production run, or
change the parameters of your force-field (or look for other sources
of error).
In one case I had to hunt down a bug in one of the LAMMPS USER-MISC
pair_styles that was causing bad physics. (pair_style dreiding.
Hoping my patch goes upstream soon.) There are so many possible
sources of bad physics that it is impossible to answer questions like
this in general. But use "fix nve" to look for them.
Happy hunting
Andrew
Hi All,
I am simulating a protein using a very simple course grained model called
elastic network model, where the bonded particles interact only via a
harmonic potential and no other interactions at all in the system.
On a single processor my job is running fine but on multiple processors I am
getting the error "Bond atom missing in box size check"
As per the manual - " Typically this is because the pairwise cutoff is set
too short or the bond has blown apart and an atom is too far away". It is
clear that my error is not due to the bad dynamics as the simulation is
running fine on a single processor. On multiple processors I tried
on a single processor, you don't need to communicate atoms
between (parallel) domains. this communication is only done for
a given stencil around the current domain, and if your (bonded)
atom is outside of that stencil, it will be lost (in a parallel run).
if your "1-3 bonds" are longer than your non-bonded cutoff,
you may need to use the communicate cutoff option, since
otherwise your stencil for atom communication may be too small.
axel.
Hi Andrew and Axel,
Thank you very much for your response.
Andrew, I found there is a bug in my data file when I run the simulation in NVE ensemble.
The bug is not related to Lammps. For this model, I extract the alpha-carbon coordinates from a protein pdb file and then I find which atoms are within the cut off distance to make a harmonic bond between them. I found a bug in the VMD script files I wrote to do this process.
Best,