From dea8d592dad215fb4e03405b39a5bcf7e69387fa Mon Sep 17 00:00:00 2001
From: Stan Moore <stamoor@sandia.gov>
Date: Fri, 12 Jan 2018 15:51:54 -0700
Subject: [PATCH] Optimize npair_halffull styles; the number of i atoms,
 whether owned or ghost, must match between the child half list and parent
 full list

---
 src/npair_halffull_newtoff.cpp | 14 +++-----------
 src/npair_halffull_newton.cpp  | 14 +++-----------
 2 files changed, 6 insertions(+), 22 deletions(-)

diff --git a/src/npair_halffull_newtoff.cpp b/src/npair_halffull_newtoff.cpp
index da5f6d226c..dc8fff2884 100644
--- a/src/npair_halffull_newtoff.cpp
+++ b/src/npair_halffull_newtoff.cpp
@@ -54,7 +54,6 @@ void NPairHalffullNewtoff::build(NeighList *list)
   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
@@ -75,7 +74,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);
@@ -83,13 +82,6 @@ void NPairHalffullNewtoff::build(NeighList *list)
       error->one(FLERR,"Neighbor list overflow, boost neigh_modify one");
   }
 
-  list->inum = inum;
-  if (list->ghost) {
-    int num = 0;
-    for (i = 0; i < inum; i++)
-      if (ilist[i] < nlocal) num++;
-      else break;
-    list->inum = num;
-    list->gnum = inum - num;
-  }
+  list->inum = list->listfull->inum;
+  list->gnum = list->listfull->gnum;
 }
diff --git a/src/npair_halffull_newton.cpp b/src/npair_halffull_newton.cpp
index d6de8a3766..50c5fd42f2 100644
--- a/src/npair_halffull_newton.cpp
+++ b/src/npair_halffull_newton.cpp
@@ -56,7 +56,6 @@ void NPairHalffullNewton::build(NeighList *list)
   int inum_full = list->listfull->inum;
   if (list->ghost) inum_full += list->listfull->gnum;
 
-  int inum = 0;
   ipage->reset();
 
   // loop over parent full list
@@ -90,7 +89,7 @@ void NPairHalffullNewton::build(NeighList *list)
       neighptr[n++] = joriginal;
     }
 
-    ilist[inum++] = i;
+    ilist[ii] = i;
     firstneigh[i] = neighptr;
     numneigh[i] = n;
     ipage->vgot(n);
@@ -98,13 +97,6 @@ void NPairHalffullNewton::build(NeighList *list)
       error->one(FLERR,"Neighbor list overflow, boost neigh_modify one");
   }
 
-  list->inum = inum;
-  if (list->ghost) {
-    int num = 0;
-    for (i = 0; i < inum; i++)
-      if (ilist[i] < nlocal) num++;
-      else break;
-    list->inum = num;
-    list->gnum = inum - num;
-  }
+  list->inum = list->listfull->inum;
+  list->gnum = list->listfull->gnum;
 }
-- 
GitLab