[lammps-users] Neighbor list and three body terms

I am experimenting with a GPU implementation of the sw potential in
lammps. To avoid race conditions related to storage of forces, I have
opted to have all atoms compute the forces three times, with each atom
taking a turn as the center atom, and save only the interaction with the
atom in interest. In order to get all the interactions, I have to extend
the cutoff distance from a bit longer than the cutoff of a single atom
to nearly twice that distance to ensure all interactions are accounted
for. Is there a more efficient way of doing this? The only thing I can
think of is going through all the neighboring atoms neighbor lists, but
as far as I understand, it would have the same effect except the
neighbor lists would be smaller.

Thanks for your time and help,
Bryce

hi bryce,

I am experimenting with a GPU implementation of the sw potential in

first of all, if you are experimenting with GPU modules for LAMMPS,
i suggest you have a look at the GPULAMMPS project on google
code that tries to integrate multiple efforts for GPU accelerated LAMMPS
modules. http://code.google.com/p/gpulammps/

communicating with the developers there (please contact paul crozier
to get all the details) is probably the best chance to get help and also
to learn the most effective ways to implement GPU accelerated classes.
at the moment there are three "branches" with partial feature overlap and
slightly differing approaches to get good efficiency which can make it
a bit confusing, but at the same time it looks as if there is a lot of progress
recently (in part due to the joining of the LAMMPS-CUDA effort, in part
due to contributions from people working at nvidia) to have this all merged
in some common interface.

lammps. To avoid race conditions related to storage of forces, I have
opted to have all atoms compute the forces three times, with each atom
taking a turn as the center atom, and save only the interaction with the
atom in interest. In order to get all the interactions, I have to extend
the cutoff distance from a bit longer than the cutoff of a single atom
to nearly twice that distance to ensure all interactions are accounted

are you sure you need this? regardless of whether you try to take advantage
of newton's third law or not, you only have to compute the forces on
"local" atoms and thus the normal (full) neighborlist should be sufficient.

cheers,
   axel.