[lammps-users] Coulomb interactions for neigh_modify excluded atoms

If I turn off pairwsie interactions between certain atoms in my simulation using the “exclude” option of the “neigh_modify” command, does this actually turn off the Coulomb forces between these atoms, as computed by the PPPM method?


it will turn off the short-range direct interaction between
those pairs of atoms, but not the long-range PPPM (between
all the periodic images of those atoms). I'm not sure what
it means physically to have the charge on an atom interact
with some other charges in your system, but not others.


My system consists of liquid molecules between two immobile walls made up of charged Lennard-Jones atoms. In the time integration, I’m not interested in the forces on the wall atoms, since I fix them in space by setting their initial velocities to zero and using a “fix setforce” command. I also exclude the interactions between the wall atoms using a “neigh_modify” command.

However, I am interested in the total force that the liquid molecules exert on the walls and was hoping that I could just add up the forces on each of the wall atoms (if these forces did not include any forces that the wall atoms exert on each other).

I know that electrostatic interactions between particular atoms (e.g. the “self-energy” between atoms on the same molecule) cam be removed by adding a correction term to the calculation of the long-range electrostatics. From some test calculations that I have done for liquid water comparing energies calculated with my own code and with LAMMPS, it seems that LAMMPS does this for the intramolecular O-H interactions (perhaps this assumption isn’t correct?) and I was hoping that this was also done for atoms excluded from the neighbor list. I was having some trouble figuring out what was going on in the source code and thought I would just post this to the mailing list to get a quick answer.



You are right that LAMMPS adds a correction term to
remove the long-range electrostatic contribution
between atoms that are not supposed to interact via
nonbond interactions. But based on Steve's answer, it
looks like LAMMPS does not do this for atoms excluded
from the neighbor list via the neigh_modify exclude

Even if wall-wall forces were included in your force
calculation, they should cancel, and thus the sum
would be the total wall-fluid force. Alternatively,
you could use pizza.py to compute the wall-fluid force
as a post-process.


Also, I assume that you are using LAMMPS's slab
command since you have a slab geometry configuration
and are using long-range electrostatics. See:


You probably want to ignore any wall-fluid interaction
between periodically repeated images of your slab. I
assume such interactions would be small if you're
using LAMMPS's slab command.


I hope this helps!


One more thought - I presume you are using neigh_modify exclude
to save a bit of computation in wall-wall pairwise interactions
since they are unncessary. If you don't do this (and it probably
isn't saving much), then both the short-range and long-range will
be correct, and the total force on the wall will not change, since
wall-wall interactions sum to 0. Also, since you are setting the
force on wall atom to 0 anyway, doing those computations will not
alter the dynamics.