Changing logic for self-bin check, newton+ortho

This commit is contained in:
jtclemm
2023-11-01 12:22:30 -06:00
parent 8f14cdcb34
commit 745f2e6c54
18 changed files with 85 additions and 89 deletions

View File

@ -113,7 +113,7 @@ void NPairMultiOld<HALF, NEWTON, TRI, SIZE>::build(NeighList *list)
for (k = 0; k < ns; k++) {
bin_start = binhead[ibin + s[k]];
if (HALF && NEWTON && (!TRI)) {
if (s[k] == 0) {
if (k == 0) {
// Half neighbor list, newton on, orthonormal
// loop over rest of atoms in i's bin, ghosts are at end of linked list
bin_start = bins[i];
@ -159,7 +159,7 @@ void NPairMultiOld<HALF, NEWTON, TRI, SIZE>::build(NeighList *list)
// Half neighbor list, newton on, orthonormal
// store every pair for every bin in stencil,except for i's bin
if (s[k] == 0) {
if (k == 0) {
// if j is owned atom, store it, since j is beyond i in linked list
// if j is ghost, only store if j coords are "above and to the "right" of i
if (j >= nlocal) {
@ -236,7 +236,7 @@ void NPairMultiOld<HALF, NEWTON, TRI, SIZE>::build(NeighList *list)
firstneigh[i] = neighptr;
numneigh[i] = n;
ipage->vgot(n);
if (ipage->status()) error->one(FLERR,"Neighbor list overflow, boost neigh_modify one");
if (ipage->status()) error->one(FLERR, "Neighbor list overflow, boost neigh_modify one");
}
list->inum = inum;