Out of range atoms during NPT run of SPC/E water

Hi all,
I need your help to understand what is going on on this very simple simulation.

I have to equilibrate an SPC/E water sample at standard conditions of temperature and pressure starting from a gas density sample. After few tens of thousands timesteps I receive the “Out of range atoms - cannot compute PPPM” message. In this specific case I’m compressing only along the z direction, but the following problem also happens by contracting the three dimensions together.
No atom superimposition seems to be involved since I haven’t seen any energy spike just before the event. Moreover, if I restart the simulation by using a binary restart file created few hundeds of timestep before, it doesn’t crash where the previous one did (maybe some rounding effect?).
I also increased the neighbor list refresh rate by adding the “delay 0 every 1 check yes” option, but it still happens. With a 7 Angstrom cutoff the simulation crashes at 3.1e4 timesteps, while if I increase it to 10 Angstroms it happens later at 1.72e5 timesteps.
I also tried with the latest available lammps release: no luck.

Here is the input script:

units real

neighbor 2.0 bin
neigh_modify delay 0 every 1 one 10000 page 100000 check yes

boundary p p p

atom_style full
bond_style harmonic
angle_style harmonic
dihedral_style none
improper_style none

pair_style lj/cut/coul/long 7

read_data waterbox_5k.lmps

pair_modify mix arithmetic tail yes

kspace_style pppm 1.0e-5

group water type 1 2

velocity water create 300.0 12345 dist gaussian

fix 1 water shake 1.0e-8 100 0 b 1 a 1
fix 2 water npt temp 300.0 300.0 100.0 z 1.01325 1.01325 500.0

timestep 1.00
thermo 50

thermo_style custom step temp press vol lz etotal ke pe evdwl ecoul elong

dump 1 all atom 1000 water_5k_z.dump

restart 10000 water_5k_z_rst.*

run 1000000

write_restart water_5k_z.end

Do you have any idea?

Thanks,
Davide

water_npt.tgz (210 KB)

Hi all,
I need your help to understand what is going on on this very simple
simulation.

I have to equilibrate an SPC/E water sample at standard conditions of
temperature and pressure starting from a gas density sample. After few tens
of thousands timesteps I receive the "Out of range atoms - cannot compute
PPPM" message. In this specific case I'm compressing only along the z
direction, but the following problem also happens by contracting the three
dimensions together.
No atom superimposition seems to be involved since I haven't seen any energy
spike just before the event. Moreover, if I restart the simulation by using
a binary restart file created few hundeds of timestep before, it doesn't
crash where the previous one did (maybe some rounding effect?).
I also increased the neighbor list refresh rate by adding the "delay 0 every
1 check yes" option, but it still happens. With a 7 Angstrom cutoff the
simulation crashes at 3.1e4 timesteps, while if I increase it to 10
Angstroms it happens later at 1.72e5 timesteps.
I also tried with the latest available lammps release: no luck.

the crash is possibly due to PPPM and the related grid.
i don't think that LAMMPS can adjust the grid dimensions
as it would have to do when you change the volume a lot.

i would just begin equilibration without PPPM and then only
switch to using long-range electrostatics, when you are close
to the desired density. that will run faster and doesn't really
do much harm since you'll be quite far away from equilibrium
anyway. if it was me, i'd also be using fix nph in combination
with fix langevin and a time constant on the shorter end of
what is reasonable, so it would take out any excess kinetic
energy more quickly, allow use of a larger time step and
have better equipartitioning of the kinetic energy. and then
switch to npt only after you are close to equilibrium.

any specific reason why you are not using a pre-equilibrated
restart? that would save you even more time. :wink:

cheers,
     axel.

> the crash is possibly due to PPPM and the related grid.
> i don't think that LAMMPS can adjust the grid dimensions
> as it would have to do when you change the volume a lot.

I also thought about that, but I found the same error by equilibrating an higher density sample, hence with smaller volume changes.

> i would just begin equilibration without PPPM and then only
> switch to using long-range electrostatics, when you are close
> to the desired density. that will run faster and doesn't really
> do much harm since you'll be quite far away from equilibrium
> anyway. if it was me, i'd also be using fix nph in combination
> with fix langevin and a time constant on the shorter end of
> what is reasonable, so it would take out any excess kinetic
> energy more quickly, allow use of a larger time step and
> have better equipartitioning of the kinetic energy. and then
> switch to npt only after you are close to equilibrium.

Good hint. I'll try it.
Thanks, Axel.

> any specific reason why you are not using a pre-equilibrated
> restart? that would save you even more time. ;)

I found this error on a different system (the one I mentioned before) where I needed to remove an empty volume inside a water bulk. Then I moved to a simpler system in order to better isolate the problem.

DV