Overlaps occurring with very large simulation domains

Hi All,
I need to run simulations where the box is extremely elongated in one direction, for instance ~​100,000 A x 200 A x 200 A.
I have noticed that when Bx < 100,000 A (roughly), the simulation proceeds correctly (near perfect energy conservation in NVE). However,
when the simulation size in x is further increased, overlaps occur during the nve run (I am using the smoothed LJ potential),
which usually cause two particles to gain extremely large velocities, and thus fly out of the box.

I have been trying to change some of the neighboring parameters in the neighbor and neigh_modify commands, but without any success. For example,
I can run a simulation with Bx=90,000 A, but when Bx is doubled (keeping the thermodynamics conditions, density, etc. unaltered), the simulation will stop because
of missing atoms.

Also, I have tried to use nsq instead of bin, without success. This makes me think that the issue might not be in the construction of neighbor lists, but in the inter-processor communication (?).

I’d be willing to provide some input files to reproduce the error (although the systems are rather massive).

Does anyone have a clue as to why this happens?

Best regards,

Paolo

hi paolo,

Hi All,
I need to run simulations where the box is extremely elongated in one
direction, for instance ~100,000 A x 200 A x 200 A.
I have noticed that when Bx < 100,000 A (roughly), the simulation proceeds
correctly (near perfect energy conservation in NVE). However,
when the simulation size in x is further increased, overlaps occur during
the nve run (I am using the smoothed LJ potential),
which usually cause two particles to gain extremely large velocities, and
thus fly out of the box.

I have been trying to change some of the neighboring parameters in the
neighbor and neigh_modify commands, but without any success. For example,
I can run a simulation with Bx=90,000 A, but when Bx is doubled (keeping the
thermodynamics conditions, density, etc. unaltered), the simulation will
stop because
of missing atoms.

are you using read_data for your starting conditions?
if yes, how do you generate your initial conditions?
are you sure you don't have any rounding errors there,
eg. when specifying the box dimensions that will result
in overlapping atoms at the periodic boundaries.

Also, I have tried to use nsq instead of bin, without success. This makes me
think that the issue might not be in the construction of neighbor lists, but
in the inter-processor communication (?).

i doubt it. the differences in magnitude are too small.

I'd be willing to provide some input files to reproduce the error (although
the systems are rather massive).

can you try to reproduce it by either having smaller initial
conditions but the same ratio
(e.g. 10000A x 10A x 10A) or by modifying one of the lammps examples
(e.g. melt)
and using the replicate command to generate the asymmetric box length
ration that
you suspect to be the cause.

Does anyone have a clue as to why this happens?

as i wrote before, my first suspicion would be overlapping atoms due to
rounding errors when specifying the box dimensions or something similar.

cheers,
     axel.

Hi Axel,

are you sure you don’t have any rounding errors there,
eg. when specifying the box dimensions that will result
in overlapping atoms at the periodic boundaries.

I looked into this, but I don’t believe it’s the problem. Moreover, these suspected overlaps occur
right in the middle of the MD run. If there were a problem with the initial conditions, wouldn’t the
simulation crash within the first few time steps? In my case, it stops (for missing atoms) usually
several hundred time steps after it started. Additionally, if you look at the total energy, everything looks fine initially:

Step Temp PotEng KinEng TotEng
66 1881.1243 70.108454 891550.98 891621.09
100 1881.2114 28.205476 891592.3 891620.5
200 1881.2081 29.92363 891590.7 891620.62
300 1881.1879 39.417329 891581.12 891620.53
400 1881.225 21.930919 891598.71 891620.64
500 1881.1955 35.864459 891584.75 891620.62
600 1881.1897 38.684733 891582 891620.68
700 1881.1933 36.924423 891583.71 891620.63
800 1881.1947 36.291516 891584.34 891620.63
900 1881.2172 25.564469 891595.04 891620.6
1000 1881.2093 29.275367 891591.27 891620.55
1100 1881.1718 47.012506 891573.51 891620.52
1200 1881.1999 33.817148 891586.8 891620.62
1300 1880.8554 32.241428 891423.53 891455.77 ← Jump here
1400 1880.8812 20.010253 891435.79 891455.8
1500 1880.8287 44.874294 891410.88 891455.76
1566 1880.8594 30.345549 891425.46 891455.81

can you try to reproduce it by either having smaller initial
conditions but the same ratio
(e.g. 10000A x 10A x 10A) or by modifying one of the lammps examples
(e.g. melt)
and using the replicate command to generate the asymmetric box length
ration that
you suspect to be the cause.

I will try to produce a smaller system where this problem occurs.

Thanks. Best regards,
Paolo