-
Hi, I am exploring an alternative way of the spatial decomposition used by LAMMPS and was testing to ensure the results on Allegro matched with what LAMMPS had. For a particular atom i, after observing the three input tensors (pos, edges, types) which are fed into LAMMPS, I can confirm that the following match with the baseline:
However, while the atomic energies match with the baseline, the forces do not match, and I'm not sure what other things I need to check to ensure I get the same output. Based on my understanding, the force on an atom only depends on neighboring atoms within the cutoff, and there's only 3 tensors passed into the model. Edit: For a local atom i who has a neighbor j who is a ghost atom, currently LAMMPS only adds the edge (i,j) and then uses reverse communication to get the information from edge (j,i). However, in this case, I am manually adding in the edge (i,j) and (j,i) when evaluating on the processor that has atom i as a local atom and j as a ghost atom. However, this approach somehow gets different results, even though the total number of edges involving atom i are identical among the two approaches. Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
Hi Ryan, Sorry for the late reply. If you are trying to avoid reverse communication, this sounds somewhat similar to
For each pair (i,j) of atoms, there's one energy (ij) that is "many-body" in i (i.e., depending on all the neighbors of i), and one energy (ji) that is many-body in j. With the forces being the derivative of the sum of these, the force on atom i will depend on the entire neighbor list of atom j. In LAMMPS it is possible to get the neighbor list of ghost atoms, but I don't think this will contain the full neighborhood of the ghost atoms, as this would require a buffer region that is twice as big as the interaction cut-off. The atomic energy, on the other hand, can be arbitrarily partitioned to be the sum of the ij energies for atom i, thus only depending on the neighbors of atom i. Hope this helps! Best wishes, |
Beta Was this translation helpful? Give feedback.
-
Hi Anders, that makes a lot of sense. Thanks for the explanation! |
Beta Was this translation helpful? Give feedback.
Hi Ryan,
Sorry for the late reply.
If you are trying to avoid reverse communication, this sounds somewhat similar to
newton off
in LAMMPS (https://docs.lammps.org/newton.html).For each pair (i,j) of atoms, there's one energy (ij) that is "many-body" in i (i.e., depending on all the neighbors of i), and one energy (ji) that is many-body in j. With the forces being the derivative of the sum of these, the force on atom i will depend on the entire neighbor list of atom j.
In LAMMPS it is possible to get the neighbor list of ghost atoms, but …