[lammps-users] bug in tersoff potential

Dear support, I perform a simulation that couple cluster of gold and sheet of graphene.
The pair style are described by the following lammps command
pair_style hybrid tersoff eam lj/cut/opt 8.768
pair_coeff * * tersoff SiC.tersoff NULL C
pair_coeff 1 1 eam Au_u3.eam
pair_coeff 1 2 lj/cut/opt 0.022 2.74 8.768

I move the atoms by nve without thermostat, however I found that the energy is not conserved. If I set up the lj coeff as follow
pair_coeff 1 2 lj/cut/opt 0.0 0.0 0.0
and the I move only the gold atoms the energy is conserverd. Howerve if I perform the same operation with the graphene atoms the energy is not conserved. Why?

Best regard

nicola,

what is your time step?
since the gold atoms are much heavier,
your step size may be sufficient for them
but not for the carbon atoms.

can you try with, say, 10 times smaller and report again?

thanks,
     axel.

The time step is not the problem because if I move only the graphite atoms the energy is not conserved. Howerver if I take only the graphite atoms separately, without the gold atoms, the energy is conserved very well with the same time step.
In this case I have only 1 atom type and the pair style is described as
pair_style hybrid
pair_coeff * * SiC.tersoff NULL C

N

2010/4/26 Axel Kohlmeyer <[email protected]>

The time step is not the problem because if I move only the graphite atoms
the energy is not conserved. Howerver if I take only the graphite atoms
separately, without the gold atoms, the energy is conserved very well with
the same time step.

ok, then i would not necessarily suspect the tersoff style to be at fault,
but it could just as easily the hybrid pair style not accounting for
energy correctly.

also, instead of using lj/cut/opt 0.0 0.0 0.0 as pair coefficients, you could
try and see if pair_style null gives the same result. i've seen in the past
that the /opt pair styles have "illegal" code in them, that can have all
kinds of side effects.

in any case this looks like an issue that needs to be dissected carefully.
it would probably be very helpful, if you'd post a simplest possible test
case, so that somebody (else) could have a stab at debuggin it. i assume
you are using the latest version of LAMMPS with all patches applied...

cheers,
   axel.

Potentials with a cutoff, like lj/cut, don't conserve energy
exactly. What is your metric of non-conservation.

Steve

Dear Steve, I found the same problem also with lj/cut style. If I move only the gold atoms however the energy is conserved, however if I move only the graphite atoms the energy is NOT conserved.

N.

2010/4/26 Steve Plimpton <[email protected]>

Hi, cau you use Airebo potential for your graphite and try it if your energy is still non-conserved? I was using Airebo potential for graphite interaction, and I had problem about energy conservation too.

ziyuan

Ok, but the question is: why if I used the tersoff potentials alone the energy is conserved instead when the tersoff is used in conjuction with other style does not conserve the energy? Do you agree with me that if I move only the graphene atoms and I turn off all the others interaction I MUST obtain the same results?

N.

2010/4/26 shiziyuan <shiziyuan1124@…24…>

when I only run a system with graphene using Airebo, the energy is conserved. When my graphene and water interacted with each other, my energy is keeping increasing. But I didn’t test like you said. I will try soon.

In principle I think that

pair_style hybrid tersoff
pair_coeff * * tersoff SiC.tersoff NULL C
pair_coeff 1 2 none
pair_coeff 1 1 none

whit 2 kind of atoms must produce the same effect that

pair_style tersoff
pair_coeff * * SiC.tersoff C

with 1 kind of atoms.

2010/4/26 shiziyuan <shiziyuan1124@…24…>

Are you saying that if you have a system with only type 2 atoms,
and you run the 2 scripts below, you get different answers?
If so, please post a simple example (input script, data file) and I'll
take a look.

Steve

Hi, the two archive contain:
-the input script
-the data containing atom positions
-the log file

graphite.tar.gz is the archive containing the simulations with only the graphite atoms while gold_graphite.tar.gz contain both gold and graphite atoms.

Best regards.

Nicola

2010/4/27 Steve Plimpton <[email protected]>

graphite.tar.gz (52.7 KB)

gold_graphite.tar.gz (3.99 MB)

The two data files for the two problems appear to be
very different. The volume is different, so the pressures
will be different. I don't see the same atom coords of the
graphite atoms in the graphite/gold system. In the former
the coords are things like 2.94 0 0. In the latter all coords
are 10 digit values with no trailing zeroes. So why should
we expect the 2 systems to be the same and give the
same initial energy (which they don't) ??

Please show me an example where the atom coords are the
same in the 2 cases, but they give different energies due
to hybrid being on/off.

Steve

I’m sorry for the discussion, but I’ve found the problem:
a 0K a timestep of 0.003 ps the energy is conserved very well also for the graphite atoms, but when the system is runned at 300 K the time step must be reduced.

Nicola

2010/4/27 Steve Plimpton <[email protected]>