energy conservation issues with LCBOP, REBO, AIREBO

Dear LAMMPS users

I am working on amorphous carbon simulations.

I want to compare several potentials’ performance on this material: REBO, AIREBO, LCBOP and TERSOFF.

First step is check energy conservation, so I did the following simple test:

Starting from an amorphous carbon structure at room temperature, I run a fix nve for 10 ps with every potentials and then check the total E conservation and the Temperature profile vs time - input file at the end.

I found out LCBOP, REBO and AIREBO don’t conserve total energy. On the other hand, TERSOFF works perfectly fine.

I’m aware of similar problems with AIREBO, according to other posts in the forum.

I decreased the timestep size from 0.1 fs down to 0.01 fs without significant improvement. I also did a test updating the neighbor list every step, no improvements.

REBO always shows a ~ 30 eV upward drift in the total energy after 10 ps, but LCBOP behaves just crazy.

My questions are:

1) Since E conservation in NVE is never perfect, REBO’s drift is acceptable for practical purposes?

2) Is somebody aware of any bug in these potentials? specially in LCBOP?


units metal
dimension 3
boundary p p p
atom_style atomic

read_restart RESTART_amorphous3.0gcc.105000 # starting amorphous carbon structure

pair_style rebo
pair_coeff * * CH.airebo C

fix 1 all nve

timestep 0.0001 # timestep of 0.1 fs
thermo 100

thermo_style custom time step pe ke etotal temp vol density

run 100000 # run for 10 ps

Thank you in advance

Carla de Tomas
Dept. of Physics and Engineering
Curtin University

Maybe Ray can take a look at this …


How are you thermalizing your system? I don’t see any velocity create, or the restart file contains atom velocities?

How did you build the amorphous carbon? Each potential has its own equilibrium amorphous carbon configuration. If you created the amorphous carbon using Tersoff, it may not be the equilibrium configuration for REBO, hence the energy may not be well conserved. Strictly speaking, you should create one amorphous carbon for each of the potentials you wish to use.


Hi Ray

Thank you for your answer.

I created a 32968 atoms 3 g/cc amorphous carbon with LAMMPS using EDIP potential for carbon (C-EDIP, recently implemented on LAMMPS by my research group and extensively tested).

The technique used is liquid quenching after an initial solid cubic carbon lattice, whose positions are slightly randomize. I attach input file at the end.

Once the amorphous is created, I equilibrate it at 300 K for 1 ps. The very last step is written to a Restart file. This file is the one I will later read when I test other potentials.

You are right about equilibrium configuration. I first started testing the potentials by creating an amorphous structure using each of them, but then I saw the Energy was not conserved during the creation. After reducing the timestep size and neighbourlist updates without any improvement, I thought an easier test should be done: run just NVE at room T for an already created sample; since the liquid phase is very unstable and the sample reaches very high temperatures, I thought it could affect the Energy conservation.

I repeated both tests (run simple NVE with each potential after an already created amorphous, and create an amorphous with each potential) on a smaller sample: 4096 atoms, and I still see an upward drift in the Energy, though smaller.

I don’t know how I should test the potentials to check if they work fine or it’s my mistake.

What I find strange is both Tersoff and C-Edip work fine in any situation.

Any suggestion will be highly appreciated.


Your runs were very short and the tdamp values are very large - I doubt your systems are well equilibrated at any of the temperatures.

You applied thermostats so you are adding/subtracting energy off - it is normal to see energy drift.