From 3267b345904e6968a06be32a26cf1ca4cead9658 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer <akohlmey@gmail.com> Date: Wed, 26 Oct 2016 09:29:27 -0400 Subject: [PATCH] simplify short neighbor list implementation. remove unneeded class member --- src/MANYBODY/pair_sw.cpp | 13 ++++++------- src/MANYBODY/pair_sw.h | 3 +-- src/MANYBODY/pair_tersoff.cpp | 13 ++++++------- src/MANYBODY/pair_tersoff.h | 3 +-- src/MANYBODY/pair_vashishta.cpp | 17 ++++++++--------- src/MANYBODY/pair_vashishta.h | 3 +-- src/MANYBODY/pair_vashishta_table.cpp | 8 ++++---- 7 files changed, 27 insertions(+), 33 deletions(-) diff --git a/src/MANYBODY/pair_sw.cpp b/src/MANYBODY/pair_sw.cpp index 171486b8a1..6542eb4edf 100644 --- a/src/MANYBODY/pair_sw.cpp +++ b/src/MANYBODY/pair_sw.cpp @@ -52,8 +52,7 @@ PairSW::PairSW(LAMMPS *lmp) : Pair(lmp) elem2param = NULL; map = NULL; - sizeshort = 10; - numshort = 0; + maxshort = 10; neighshort = NULL; } @@ -122,7 +121,7 @@ void PairSW::compute(int eflag, int vflag) jlist = firstneigh[i]; jnum = numneigh[i]; - numshort = 0; + int numshort = 0; for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; @@ -135,9 +134,9 @@ void PairSW::compute(int eflag, int vflag) if (rsq < cutshortsq) { neighshort[numshort++] = j; - if (numshort > sizeshort) { - sizeshort += sizeshort/2; - memory->grow(neighshort,sizeshort,"pair:neighshort"); + if (numshort > maxshort) { + maxshort += maxshort/2; + memory->grow(neighshort,maxshort,"pair:neighshort"); } } @@ -223,7 +222,7 @@ void PairSW::allocate() memory->create(setflag,n+1,n+1,"pair:setflag"); memory->create(cutsq,n+1,n+1,"pair:cutsq"); - memory->create(neighshort,sizeshort,"pair:neighshort"); + memory->create(neighshort,maxshort,"pair:neighshort"); map = new int[n+1]; } diff --git a/src/MANYBODY/pair_sw.h b/src/MANYBODY/pair_sw.h index 32dbb0ab8a..8d921a26e8 100644 --- a/src/MANYBODY/pair_sw.h +++ b/src/MANYBODY/pair_sw.h @@ -55,8 +55,7 @@ class PairSW : public Pair { int nparams; // # of stored parameter sets int maxparam; // max # of parameter sets Param *params; // parameter set for an I-J-K interaction - int sizeshort; // size of short neighbor list array - int numshort; // current count of neighbors in short list + int maxshort; // size of short neighbor list array int *neighshort; // short neighbor list array virtual void allocate(); diff --git a/src/MANYBODY/pair_tersoff.cpp b/src/MANYBODY/pair_tersoff.cpp index e2a6349110..18953d17ff 100644 --- a/src/MANYBODY/pair_tersoff.cpp +++ b/src/MANYBODY/pair_tersoff.cpp @@ -53,8 +53,7 @@ PairTersoff::PairTersoff(LAMMPS *lmp) : Pair(lmp) elem2param = NULL; map = NULL; - sizeshort = 10; - numshort = 0; + maxshort = 10; neighshort = NULL; } @@ -124,7 +123,7 @@ void PairTersoff::compute(int eflag, int vflag) jlist = firstneigh[i]; jnum = numneigh[i]; - numshort = 0; + int numshort = 0; for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; @@ -137,9 +136,9 @@ void PairTersoff::compute(int eflag, int vflag) if (rsq < cutshortsq) { neighshort[numshort++] = j; - if (numshort > sizeshort) { - sizeshort += sizeshort/2; - memory->grow(neighshort,sizeshort,"pair:neighshort"); + if (numshort > maxshort) { + maxshort += maxshort/2; + memory->grow(neighshort,maxshort,"pair:neighshort"); } } @@ -262,7 +261,7 @@ void PairTersoff::allocate() memory->create(setflag,n+1,n+1,"pair:setflag"); memory->create(cutsq,n+1,n+1,"pair:cutsq"); - memory->create(neighshort,sizeshort,"pair:neighshort"); + memory->create(neighshort,maxshort,"pair:neighshort"); map = new int[n+1]; } diff --git a/src/MANYBODY/pair_tersoff.h b/src/MANYBODY/pair_tersoff.h index c69bbbfae4..f44d9f3c5d 100644 --- a/src/MANYBODY/pair_tersoff.h +++ b/src/MANYBODY/pair_tersoff.h @@ -59,8 +59,7 @@ class PairTersoff : public Pair { int nelements; // # of unique elements int nparams; // # of stored parameter sets int maxparam; // max # of parameter sets - int sizeshort; // size of short neighbor list array - int numshort; // current count of neighbors in short list + int maxshort; // size of short neighbor list array int *neighshort; // short neighbor list array virtual void allocate(); diff --git a/src/MANYBODY/pair_vashishta.cpp b/src/MANYBODY/pair_vashishta.cpp index ea62229477..8ff95afd1d 100644 --- a/src/MANYBODY/pair_vashishta.cpp +++ b/src/MANYBODY/pair_vashishta.cpp @@ -54,8 +54,7 @@ PairVashishta::PairVashishta(LAMMPS *lmp) : Pair(lmp) map = NULL; r0max = 0.0; - sizeshort = 10; - numshort = 0; + maxshort = 10; neighshort = NULL; } @@ -122,7 +121,7 @@ void PairVashishta::compute(int eflag, int vflag) jlist = firstneigh[i]; jnum = numneigh[i]; - numshort = 0; + int numshort = 0; for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; @@ -135,9 +134,9 @@ void PairVashishta::compute(int eflag, int vflag) if (rsq < cutshortsq) { neighshort[numshort++] = j; - if (numshort > sizeshort) { - sizeshort += sizeshort/2; - memory->grow(neighshort,sizeshort,"pair:neighshort"); + if (numshort > maxshort) { + maxshort += maxshort/2; + memory->grow(neighshort,maxshort,"pair:neighshort"); } } @@ -154,7 +153,7 @@ void PairVashishta::compute(int eflag, int vflag) jtype = map[type[j]]; ijparam = elem2param[itype][jtype][jtype]; - if (rsq > params[ijparam].cutsq) continue; + if (rsq >= params[ijparam].cutsq) continue; twobody(¶ms[ijparam],rsq,fpair,eflag,evdwl); @@ -206,7 +205,7 @@ void PairVashishta::compute(int eflag, int vflag) f[k][1] += fk[1]; f[k][2] += fk[2]; - if (evflag) ev_tally3(i,j,k,evdwl,0.0,fj,fk,delr1,delr2); + if (evflag) ev_tally3(i,j,k,evdwl,0.0,fj,fk,delr1,delr2); } } } @@ -223,7 +222,7 @@ void PairVashishta::allocate() memory->create(setflag,n+1,n+1,"pair:setflag"); memory->create(cutsq,n+1,n+1,"pair:cutsq"); - memory->create(neighshort,sizeshort,"pair:neighshort"); + memory->create(neighshort,maxshort,"pair:neighshort"); map = new int[n+1]; } diff --git a/src/MANYBODY/pair_vashishta.h b/src/MANYBODY/pair_vashishta.h index b6884f6265..b6d9c574a5 100644 --- a/src/MANYBODY/pair_vashishta.h +++ b/src/MANYBODY/pair_vashishta.h @@ -55,8 +55,7 @@ class PairVashishta : public Pair { int maxparam; // max # of parameter sets Param *params; // parameter set for an I-J-K interaction double r0max; // largest value of r0 - int sizeshort; // size of short neighbor list array - int numshort; // current count of neighbors in short list + int maxshort; // size of short neighbor list array int *neighshort; // short neighbor list array void allocate(); diff --git a/src/MANYBODY/pair_vashishta_table.cpp b/src/MANYBODY/pair_vashishta_table.cpp index 761cae787d..9a6d5ac791 100644 --- a/src/MANYBODY/pair_vashishta_table.cpp +++ b/src/MANYBODY/pair_vashishta_table.cpp @@ -94,7 +94,7 @@ void PairVashishtaTable::compute(int eflag, int vflag) jlist = firstneigh[i]; jnum = numneigh[i]; - numshort = 0; + int numshort = 0; for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; @@ -107,9 +107,9 @@ void PairVashishtaTable::compute(int eflag, int vflag) if (rsq < cutshortsq) { neighshort[numshort++] = j; - if (numshort > sizeshort) { - sizeshort += sizeshort/2; - memory->grow(neighshort,sizeshort,"pair:neighshort"); + if (numshort > maxshort) { + maxshort += maxshort/2; + memory->grow(neighshort,maxshort,"pair:neighshort"); } } -- GitLab