[lammps-users] Lost atoms... help!


I am having trouble with LAMMPS losing atoms. I am running irradiation damage cascades, and when my primary knock-ok atom's (PKA) energy gets above a certain threshold, I can't avoid getting the lost atoms error. I remedied this for a while by changing the timestep size to smaller and smaller values, but that is not working anymore. My current timestep is .00001 ps, but I have tried even smaller with no help. In the literature, other people have been using 1 fs without issue (with other codes), so I don't think my timestep is unreasonable. Here is some of the output:

   1418 223.27989 -526364.75 0 -522670.54 4234.8036
    1419 221.30761 -526332.1 0 -522670.53 4241.7577
    1420 3.5804153e+21 3.1764699e+11 0 5.9238577e+22 4.2470611e+22
WARNING: Lost atoms: original 128000 current 127998
    1421 76.642234 -527533.49 0 -526265.43 1231.472
    1422 76.615982 -527533.06 0 -526265.43 1231.8653
    1423 76.590123 -527532.63 0 -526265.43 1232.2527

I switched to warn mode for lost atoms, for debugging. As you can see, the temperature, and all other values jump dramatically before the atoms are lost. All other atoms start at 0 K, except the PKA. I have tried changing the direction of the PKA, but it just changes the point in time at which I encounter the error. My PKA has velocity of 5 keV, so about 400 lattice spacings/ps in the fastest component of velocity.

I am using an eam/fs potential (Fe_mm.eam.fs), the well-known Ackland potential for iron. Any suggestions?

Erin Gillilan
Grad Student - Nuclear Engineering
Georgia Tech


What kind of boundary conditions (BCs) do you use? One would use slab
kind of BCs where except for the impacting surface all other surfaces will
be buffered by a few layers of temperature controlled region, wherein the
temperature is equated to the bulk temperature of the target being irradiated.
I guess you are making sure that none of your cascade atoms reach these
boundaries by choosing a big enough sample.

If you have used 0.00001 ps, time step is not a problem. However using 1 fs
for a 5 KeV bombardment is not without issue. The time step needs to be such
that the fastest atom (PKA in your case) should travel no more than 1/20^th the
mean interactomic spacing. The reason for this is that the fastest atom samples
the interatomic potential properly. Therefore use a time step of
1 Angstrom / (velocity corresponding to 5KeV of your PKA) so that you do not
waste simulation time. As your PKA slows down, it is advisable to use a varying
time step (see the fix dt/reset command).

Best Regards,

2008/5/16 Gillilan, Erin M <[email protected]>:

If the KE is infinite (or huge), that means the velocities
are inf - which is why you are losing atoms - they are flying
far away in one timestep. The vels are inf b/c the force
is inf. You need to figure out why that is. Are you checking
for reneighboring every timestep, so you don't miss
any pair interactions?


I just tried readjusting the neigh_modify command to

neigh_modify every 1 delay 1 check no

which I believe makes it reneighbor every timestep. No luck. I get the same result. By the way, I am using periodic boundary conditions. I have looked at the dump file in xmovie though, and nothing is getting anywhere near the boundary before this happens anyway. I am stuck!


Again, the bad thing that is happening is INF temperatures, which
are likely due to INF forces. So you need to figure out why your
model is generating INF forces. If the forces are INF, then it
doesn't matter how often you reneighbor, things are already bad.