workaround along lost atoms issue

Dear Users,

I have an amorphous carbon structure which I created using heating up (followed by subsequent quenching) diamond structure with Tersoff potential. This amorphous carbon is my starting structure. Once I create my amorphous carbon, I switch the force field to AIREBO (to include van der Waals interactions) and relax the stresses using NPT simulations. I am assuming that since carbon is all amorphous, switching force fields at this stage should be OK. (For completeness, I could not make it amorphous carbon out of AIREBO force field to start with because, I was getting into errors due to lost atoms issue as discussed later).

My plan is to heat up this structure to ~3000 K and then strain it to observe structural deformations/graphitzation etc with respect to different degree of applied strains. As AIREBO is bond-order potential, I am hoping, I can investigate these structural deformations which occur due to bond (formation/breakage/rearrangements) etc and can be studied using AIREBO.

Heating up the amorphous structure (NPT) works OK till 3000 K. Then, when I start applying strain (NVT with fix deform), I get “lost atoms” errors after a while.

My thought is that at some point during the simulation, some local restructuring starts to occur which probably leads to repulsive force between two atoms (for example while switching from bond to non-bonded interactions ~2 Angs), which in turn lead to large atomic disturbance locally, moving some atoms significant enough that they neighbor lists gets alter significantly.

I am wondering what I can do to continue my simulations further in a traceable manner.

  1. Updating neigh list at every step. Would this work?
neigh_modify every 1 delay 0 
  1. reducing time step further. I am currently using 0.5 fs

  2. Ignoring lost atoms. Here, I have a question. If I use this setting

thermo_modify lost ignore,

What happens to lost atoms which are ignored, do they interact with rest of the atoms in subsequent timesteps? When the lammps write restart files, would lammps write original number of atoms or current number of atoms in the restart file?

  1. combination of 2 or more from above

  2. Any other suggestions?

Any help will be highly appreciated.

Regards,
Vikas

Dear Users,

I have an amorphous carbon structure which I created using heating up
(followed by subsequent quenching) diamond structure with Tersoff potential.
This amorphous carbon is my starting structure. Once I create my amorphous
carbon, I switch the force field to AIREBO (to include van der Waals
interactions) and relax the stresses using NPT simulations. I am assuming
that since carbon is all amorphous, switching force fields at this stage
should be OK. (For completeness, I could not make it amorphous carbon out of
AIREBO force field to start with because, I was getting into errors due to
lost atoms issue as discussed later).

My plan is to heat up this structure to ~3000 K and then strain it to
observe structural deformations/graphitzation etc with respect to different
degree of applied strains. As AIREBO is bond-order potential, I am hoping, I
can investigate these structural deformations which occur due to bond
(formation/breakage/rearrangements) etc and can be studied using AIREBO.

Heating up the amorphous structure (NPT) works OK till 3000 K. Then, when I
start applying strain (NVT with fix deform), I get "lost atoms" errors after
a while.

My thought is that at some point during the simulation, some local
restructuring starts to occur which probably leads to repulsive force
between two atoms (for example while switching from bond to non-bonded
interactions ~2 Angs), which in turn lead to large atomic disturbance
locally, moving some atoms significant enough that they neighbor lists gets
alter significantly.

I am wondering what I can do to continue my simulations further in a
traceable manner.

1. Updating neigh list at every step. Would this work?

neigh_modify every 1 delay 0

it should help

2. reducing time step further. I am currently using 0.5 fs

it should help

3. Ignoring lost atoms. Here, I have a question. If I use this setting
thermo_modify lost ignore,

What happens to lost atoms which are ignored, do they interact with rest of
the atoms in subsequent timesteps? When the lammps write restart files,
would lammps write original number of atoms or current number of atoms in
the restart file?

lost atoms are gone.

4. combination of 2 or more from above

5. Any other suggestions?

setting a suitable neighbor skin (2x the distance a fast atom will
move in one timestep)

axel

Thanks Axel,
I am trying both 1 and 2 (with 0.2fs) together now. Hopefully, the system will remain stable.

Regards,
Vikas

One more question, regarding neighbor skin,

I am currently using 3.0 (in Angs). If I increase to 10 (lets assume), Would it significantly slow down my simulations as all the atoms in the skin ‘shell’ would be included in the neighbor list?

Best Regards,
Vikas

Yes.