What interactions are computed for pairwise energy?

Hey lammps users

I am trying to figure out what goes into the neighbor list.

In my toy system, I have 10 atoms of the same type. The pairwise potential is defined in the following manner:

neighbor 0.4 bin
neigh_modify every 10 one 10000
bond_style harmonic
bond_coeff 1 350 1.53
pair_style lj/cut 10.5
pair_coeff 1 1 0.112 4.01 10.5

In theory, there are should be 45 interactions in the pairwise potential energy, is that right?
However, I am getting gigantic energy when try to compute this energy by “hand", but the Lammps output only gives really small energy like the following.

Step PotEng KinEng E_bond E_pair Temp
0 3280.8242 134.13645 3280.8521 -0.027946372 5000
50 76.787747 233.18891 77.089967 -0.30221985 8692.2273
100 22.287439 27.21953 23.011246 -0.72380721 1014.6209
150 6.4999038 12.623158 7.3654589 -0.86555507 470.5342

If you just look at the distance, the bond distance is around 1.53, the characteristic distance LJ is 4.01, so the pairwise energy between bonded atom should be big, which explains the huge energy I have been getting by “hand”.

So does this have something to do the neighbor function? But neighbor only adds a “skin” distance to the pair cutoff and should not affect the total energy of atoms that are close to each other.

I think I generally lack of a understanding of Lammps mechanics. I would be really helpful if someone can point out what is wrong.

Thank you!

Hey lammps users

I am trying to figure out what goes into the neighbor list.

In my toy system, I have 10 atoms of the same type. The pairwise potential
is defined in the following manner:

neighbor 0.4 bin
neigh_modify every 10 one 10000
bond_style harmonic
bond_coeff 1 350 1.53
pair_style lj/cut 10.5
pair_coeff 1 1 0.112 4.01 10.5

In theory, there are should be 45 interactions in the pairwise potential
energy, is that right?

​most likely not. there is crucial information missing:
- size of the simulation cell and choice of boundary conditions
- list of bonds and special_bonds settings​

​please note, that LAMMPS does not apply minimum image conventions, but
creates "ghost atoms", which are real periodic copies.​

However, I am getting gigantic energy when try to compute this energy by
“hand", but the Lammps output only gives really small energy like the
following.

Step PotEng KinEng E_bond E_pair Temp
       0 3280.8242 134.13645 3280.8521 -0.027946372 5000
      50 76.787747 233.18891 77.089967 -0.30221985 8692.2273
     100 22.287439 27.21953 23.011246 -0.72380721 1014.6209
     150 6.4999038 12.623158 7.3654589 -0.86555507 470.5342

If you just look at the distance, the bond distance is around 1.53, the
characteristic distance LJ is 4.01, so the pairwise energy between bonded
atom should be big, which explains the huge energy I have been getting by
“hand”.

So does this have something to do the neighbor function? But neighbor only
adds a “skin” distance to the pair cutoff and should not affect the total
energy of atoms that are close to each other.

I think I generally lack of a understanding of Lammps mechanics. I would
be really helpful if someone can point out what is wrong.

​you should read the LAMMPS paper and then the relevant sections of the
manual. you seem to be making too many (and mostly incorrect) assumptions.

axel.​

Thanks Axel

I did a “brutal force” check by coding and find out that bond, angle and dihedral energies are excluded from pair energy. (LAMMPS does not have an easy method of outputting neighbor list I believe). With this understanding, my problem is solved.

Thank you for your comment!

Thanks Axel

I did a “brutal force” check by coding and find out that bond, angle and
dihedral energies are excluded from pair energy. (LAMMPS does not have an
easy method of outputting neighbor list I believe). With this
understanding, my problem is solved.

​your believe is not correct. you can output the non-bonded neighbors
through compute pair/local and dump local.

axel.​