diff --git a/src/npair_halffull_newtoff.cpp b/src/npair_halffull_newtoff.cpp index bd7cc4dd59758924fa63e928b5a133ef7d879986..9d5a15316b80ee3c7d40c83b6581592b99e22829 100644 --- a/src/npair_halffull_newtoff.cpp +++ b/src/npair_halffull_newtoff.cpp @@ -32,6 +32,8 @@ NPairHalffullNewtoff::NPairHalffullNewtoff(LAMMPS *lmp) : NPair(lmp) {} pair stored once if i,j are both owned and i < j pair stored by me if j is ghost (also stored by proc owning j) works if full list is a skip list + works for owned (non-ghost) list, also for ghost list + if ghost, also store neighbors of ghost atoms & set inum,gnum correctly ------------------------------------------------------------------------- */ void NPairHalffullNewtoff::build(NeighList *list) @@ -48,8 +50,8 @@ void NPairHalffullNewtoff::build(NeighList *list) int *numneigh_full = list->listfull->numneigh; int **firstneigh_full = list->listfull->firstneigh; int inum_full = list->listfull->inum; + if (list->ghost) inum_full += list->listfull->gnum; - int inum = 0; ipage->reset(); // loop over atoms in full list @@ -70,7 +72,7 @@ void NPairHalffullNewtoff::build(NeighList *list) if (j > i) neighptr[n++] = joriginal; } - ilist[inum++] = i; + ilist[ii] = i; firstneigh[i] = neighptr; numneigh[i] = n; ipage->vgot(n); @@ -78,5 +80,6 @@ void NPairHalffullNewtoff::build(NeighList *list) error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); } - list->inum = inum; + list->inum = list->listfull->inum; + list->gnum = list->listfull->gnum; } diff --git a/src/npair_halffull_newtoff.h b/src/npair_halffull_newtoff.h index 24d439a331c6832c7c3cc8346c545feff766d255..c4f7d00a01b37a51db922374588be604cd8a4d66 100644 --- a/src/npair_halffull_newtoff.h +++ b/src/npair_halffull_newtoff.h @@ -23,6 +23,16 @@ NPairStyle(halffull/newtoff/skip, NP_HALF_FULL | NP_NEWTOFF | NP_NSQ | NP_BIN | NP_MULTI | NP_HALF | NP_ORTHO | NP_TRI | NP_SKIP) +NPairStyle(halffull/newtoff/ghost, + NPairHalffullNewtoff, + NP_HALF_FULL | NP_NEWTOFF | NP_NSQ | NP_BIN | NP_MULTI | NP_HALF | + NP_ORTHO | NP_TRI | NP_GHOST) + +NPairStyle(halffull/newtoff/skip/ghost, + NPairHalffullNewtoff, + NP_HALF_FULL | NP_NEWTOFF | NP_NSQ | NP_BIN | NP_MULTI | NP_HALF | + NP_ORTHO | NP_TRI | NP_SKIP | NP_GHOST) + #else #ifndef LMP_NPAIR_HALFFULL_NEWTOFF_H