[lammps-users] airebo ERROR: Lost atoms

Hello,
Like Dave Schall, I am also experiencing difficulties using LAMMPS with the AIREBO potential.

Attached is the input file and the coordinates file (Diamond that was heated up).
The outcome is atoms being lost and the simulation stops, even though there are Periodic Boundary Conditions.

I know this is still an open bug, but perhaps someone can have a look at the input file to see if something looks wrong?

Thanks and good day,
Yoel

run.txt (1.53 KB)

Diamond.xyzlmps (16.4 KB)

Hello,
Like Dave Schall, I am also experiencing difficulties using LAMMPS with the
AIREBO potential.

Attached is the input file and the coordinates file (Diamond that was heated
up).
The outcome is atoms being lost and the simulation stops, even though there
are Periodic Boundary Conditions.

there are several reasons for losing atoms. the symptom is that
atoms move outside of a domain. this can be because there is
no domain next to it ("f" boundary condition) or because atoms
move too fast (domains communicate only atoms that are in a
certain area to its neighboring domains).

I know this is still an open bug, but perhaps someone can have a look at the
input file to see if something looks wrong?

this is not a bug, per se. at best a symptom of a bug elsewhere,
but most of the time a symptom of an incorrect input.

in your case, for example, it looks as if you are simulating a
metastable system which is a at some point is simply exploding
because by chance and due to the elevated temperature two
atoms get very close and then your time step is too large to
correctly integrate the equations of motions resulting in an
unphysically high force and those atoms being accelerated
far too much and thus getting lost. if you reduce your timestep
massively (factor of 100 or more), you should be able to get
a trajectory without lost atoms, but it is still questionable, whether
this is a meaningful trajectory. have you checked how transferable
the AIREBO CH potential is? is it suitable at all for your system?

cheers,
   axel.

Hi,
Thanks for the prompt reply!
I’m replying from my email, hope this is how I’m supposed to do that for the list records.

As you probably know, the AIREBO potential is supposed to describe well hydrocarbons and solid carbon phases.
I’ve used another implementation of this potential in the past (Brenner’s FORTRAN code) and was able to produce amorphous carbon samples, which is my goal right now.
I’m trying to do the same in LAMMPS so I can calculate bigger samples in parallel mode.

Not sure what you mean by transferable but we’re (in my group) quite certain we want to use this potential (if implemented right).
Since these explosions did not happen in the FORTRAN code, I can only assume that:

  • Either one of the implementations is wrong
  • Or I’m not using LAMMPS right.
    The timestep is already very low, and was higher in the FORTRAN code, and reducing it so much will probably make runs too long.
    Do you think there’s something else to be done?
    I’ve started playing with the neighbour list bin’s size for example…

And maybe it’s just impossible at this time to simulate amorphous carbon with LAMMPS because of some bug which Dave Schall picked up as well.

Thanks again and good evening,
Yoel

Hi,
Thanks for the prompt reply!
I'm replying from my email, hope this is how I'm supposed to do that for the
list records.

the important step is to keep sending a copy to the mailing list.
so, yes, this is the preferred way to respond.

As you probably know, the AIREBO potential is supposed to describe well
hydrocarbons and solid carbon phases.

i am not very familiar with AIREBO potentials, but in the
few cases that i have seen, they potential was used at
much lower temperatures than what your example input
is using. i am not saying, that it is wrong, only that it would
need to be checked against the literature.

furthermore, it is my understanding that with your example
you are disabling the additional LJ and Torsion terms
and thus would actually be using the REBO terms only.

I've used another implementation of this potential in the past (Brenner's
FORTRAN code) and was able to produce amorphous carbon samples, which is my
goal right now.
I'm trying to do the same in LAMMPS so I can calculate bigger samples in
parallel mode.

if your intention is to build an amorphous restart only, why do you
go through the additional complication of using an NPT hamiltonian?
for simplicity, i'd first go with a fixed volume and a langevin thermostat
to ensure equipartitioning and efficient transfer of kinetic energy until
you break the crystal structure and then slowly equilibrate into the
temperature and volume that you are interested in.

Not sure what you mean by transferable but we're (in my group) quite certain
we want to use this potential (if implemented right).

transferability of a (classical) potential means that it can be applied to
a wide range of the phase diagram. a potential may very well describe
a certain range in the phase diagram to which it was parameterized, but
that does give no indication of how well it can describe a different
point in the phase diagram.

Since these explosions did not happen in the FORTRAN code, I can only assume
that:

Either one of the implementations is wrong
Or I'm not using LAMMPS right.

there is a third possibility: the version that you are using has some
additional "safeguards" that ensure a stable time step integration
under extreme circumstances. LAMMPS for example has the nve/limit
integrator that can be used for that purpose.

on the other hand, it seems a bit suspicious how unforgiving the
potential reacts to close atom contacts and thus casting a doubt
on the implementation of the repulsive part of the potential. if you
do simulations at lower temperature, those parts of the potential
would never be reached. spline functions can sometimes behave
very nastily if one reaches the boundaries of the splined area.

The timestep is already very low, and was higher in the FORTRAN code, and
reducing it so much will probably make runs too long.

Do you think there's something else to be done?

if you don't intend to do production runs at the given
temperature, then there would be a number of ways
to somehow trick the system into some non-crystalline
structure and then take it from there. if you do want to
keep running at this high a temperature, it would be
required to understand why the forces suddenly get
so large for close contacts and whether this is a limitation
of AIREBO itself, or the implementation in LAMMPS.

I've started playing with the neighbour list bin's size for example...

that would be pointless in this case. the issue is the
large force and the resulting high local kinetic energy.
fix nve/limit and/or fix langevin can help to cure that
symptom, but if the result will be meaningful is hard to
tell up front. i would wait to use the more "correct" but
less robust nvt/npt integrators until the system is fairly
close to equilibrium.

And maybe it's just impossible at this time to simulate amorphous carbon
with LAMMPS because of some bug which Dave Schall picked up as well.

the best way to prove whether this is a bug would be to build
some artificial systems with only a very small number (2,3,4...)
of C atoms and systematically compute and compare the
potential energy and forces for different C-C distances, with
particular focus on small distances. if the system is small enough,
one could even evaluate the potential energy "by hand".

cheers,
    axel.