Lost atoms: original 4640 current 2

Hi,
I’m trying to simulate TiO2 using pedone potential. I used pair_style table command to import the potential and force. However, it throws an errror at me "Lost atoms: original 4640 current 2 (src/thermo.cpp:439).
Also, it sends me warnings like, 748 of 750 force values in table … are inconsistent with -dE/dr …

Can you help please?
Those are the script and the table file I used:

The script:

1) Initialization

units metal
dimension 3
atom_style charge #what attributes are associated with the atoms (point particles)
boundary p p p # p is periodic

2) System definition

region simulation_box block -20 20 -20 20 -20 20
create_box 2 simulation_box #the number of atoms in the simulation
create_atoms 1 random 1547 341341 simulation_box
create_atoms 2 random 3093 127569 simulation_box
set atom 1 charge 2.4
set atom 2 charge -1.2

3) Simulation settings

mass 1 48.0 #grams/mole
mass 2 16.0
#velocity all create 2243.0 450894
#run 0
#velocity all scale 2243.0

pair_style table linear 750

pair_coeff 1 1 potential_table3.txt COUL_Ti-Ti
pair_coeff 1 2 potential_table3.txt PEDONE_Ti-O
pair_coeff 2 2 potential_table3.txt PEDONE_O-O

pair_write 1 2 1000 r 1.0 5.0 potential_pedone.txt r_100_TiO_withcharge_onlypedone 2.4 -1.2

neigh_modify every 1 delay 0 check yes #sets parameters that affect the building and use of pairwise neighbor lists.

4) Visualization

thermo 10

5) Run

minimize 1.0e-4 1.0e-6 1000 10000

PART B - MOLECULAR DYNAMICS

4) Visualization

thermo 1000 #compute thermodynamic info (e.g. temp, energy, pressure)
variable kinetic_energy equal ke
variable potential_energy equal pe
variable pressure equal press
fix myat1 all ave/time 10 1 10 v_kinetic_energy v_potential_energy file energy.dat
dump mydmp all atom 1000 dump.lammpstrj

5) Run

fix mynve all nve
fix mylgv all langevin 1.0 1.0 0.1 1530917
timestep 0.0005
run 1000

compute myRDF all rdf 750 1 1 1 2 2 2 cutoff 15.0
fix 1 all ave/time 1 4000 8000 c_myRDF[*] file tmp.rdf mode vector
run 8000

The table file:

DATE: 2023-06-23 UNITS: metal CONTRIBUTOR: This is the first trial

Pedone potential for O-O; cuttoff of 15 Am

PEDONE_O-O

N 500 R 0.02 15.0

1 0.020000 1893.153086 49460.348713

2 0.040000 1328.468980 10708.889577

3 0.060000 1111.874875 3630.221518

4 0.080000 984.039288 1224.985753

5 0.100000 892.995861 167.166009

6 0.120000 821.344706 -363.697949

7 0.140000 761.566571 -648.530392

8 0.160000 709.851130 -804.510820

This means that your potential function/parameters are likely very bad or your geometry and that the system has instantly “exploded”.

This is difficult to resolve from remote. As a beginner, it is not a good idea to start simulations with tabulated potentials. That is an advanced topic and requires some care and lots of incremental testing to make certain your tables are correct and accurate.

There are multiple TiO2 compatible potentials ( for COMB, COMB3, meam/spline, SMTBQ) in the LAMMPS distribution and those are likely much more accurate than your tables.

If you absolutely insist on using the simpler potential, then it would likely be simpler to start with one of the LEPTON package pair styles, as those do not require tabulation and thus are more accurate (same as a custom pair style programmed in C++) and you can test your model this way and then use the pair_write command to extract the suitable tables from those (in case you need the faster speed) and can adjust the tabulation settings so your error from the tabulation is minimal.

I don’t have the Lepton package installed yet. It will be really helpful if there is a tutorial about how to install extra packages in Lammps?

Thanks; your comment is very helpful.

Please study the manual. There are detailed instructions about how to compile LAMMPS and how to include additional packages.

Thanks,
Do I need to build Lammps from the source code? I tried the Ubuntu and Fedora pre-built executables, and both don’t have the Lepton package.

Earlier, I tried to use pair_style hybrid to combine coul/cut and morse potentials to get the pedone potential, but when I plotted the energy vs. distance using the pair_write command, the energy values were flawed.

This was the command line I used.
pair_style hybrid/scaled v_MTiO morse 2.5 v_CTiO coul/cut 2.5

pair_coeff 1 2 morse 0.02435 2.254703 2.708943 15.0
pair_coeff 1 1 coul/cut 15.0
pair_coeff 1 2 coul/cut 15.0
pair_coeff 2 2 morse 0.042395 1.379316 3.618700 15.0
pair_coeff 2 2 coul/cut 15.0

Does this approach appear to be correct?

If you don’t need to run in parallel (and for testing/debugging that is rarely the case), you can download pre-compiled Linux executables from LAMMPS Static Linux and GUI Binary Download Repository: .
These are linked statically in a way that they should run on any 64-bit x86 Linux machine.

You have to check, if those packages are built from sufficiently recent LAMMPS versions. If not, you need to complain to the people doing the packaging. This is not done by the LAMMPS developers.

There is not enough information here to make a good assessment. Using pair style hybrid/scaled is a complex feature and thus not something somebody with your level of experience should be using. What about pair style hybrid/overlay? More importantly, I don’t know any details about the potential you want to implement, and I consider it a problematic choice in the first place, since there are known-to-be better potentials available in LAMMPS (e.g. COMB/COMB3).

Ultimately, which potentials to choose and how to validate them is something you need to work on with the help of your adviser/tutor/mentor and/or collaborators. This is not easy to debug and assist with from remote, especially without any detailed knowledge of your research project.

make yes-Lepton
make serial
make mpi
something like this?