Skip to content
Snippets Groups Projects
Commit f8d3c4c7 authored by sjplimp's avatar sjplimp Committed by GitHub
Browse files

Merge pull request #345 from timattox/USER-DPD_another_zero_compute

USER-DPD another zero compute optimization
parents 9a299875 f6cd9863
No related branches found
No related tags found
No related merge requests found
...@@ -43,6 +43,8 @@ using namespace LAMMPS_NS; ...@@ -43,6 +43,8 @@ using namespace LAMMPS_NS;
PairDPDfdt::PairDPDfdt(LAMMPS *lmp) : Pair(lmp) PairDPDfdt::PairDPDfdt(LAMMPS *lmp) : Pair(lmp)
{ {
random = NULL; random = NULL;
splitFDT_flag = false;
a0_is_zero = false;
} }
/* ---------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- */
...@@ -94,7 +96,7 @@ void PairDPDfdt::compute(int eflag, int vflag) ...@@ -94,7 +96,7 @@ void PairDPDfdt::compute(int eflag, int vflag)
// loop over neighbors of my atoms // loop over neighbors of my atoms
if (splitFDT_flag) { if (splitFDT_flag) {
for (ii = 0; ii < inum; ii++) { if (!a0_is_zero) for (ii = 0; ii < inum; ii++) {
i = ilist[ii]; i = ilist[ii];
xtmp = x[i][0]; xtmp = x[i][0];
ytmp = x[i][1]; ytmp = x[i][1];
...@@ -287,6 +289,8 @@ void PairDPDfdt::coeff(int narg, char **arg) ...@@ -287,6 +289,8 @@ void PairDPDfdt::coeff(int narg, char **arg)
double sigma_one = force->numeric(FLERR,arg[3]); double sigma_one = force->numeric(FLERR,arg[3]);
double cut_one = cut_global; double cut_one = cut_global;
a0_is_zero = (a0_one == 0.0); // Typical use with SSA is to set a0 to zero
if (narg == 5) cut_one = force->numeric(FLERR,arg[4]); if (narg == 5) cut_one = force->numeric(FLERR,arg[4]);
int count = 0; int count = 0;
...@@ -371,6 +375,7 @@ void PairDPDfdt::read_restart(FILE *fp) ...@@ -371,6 +375,7 @@ void PairDPDfdt::read_restart(FILE *fp)
allocate(); allocate();
a0_is_zero = true; // start with assumption that a0 is zero
int i,j; int i,j;
int me = comm->me; int me = comm->me;
for (i = 1; i <= atom->ntypes; i++) for (i = 1; i <= atom->ntypes; i++)
...@@ -386,6 +391,7 @@ void PairDPDfdt::read_restart(FILE *fp) ...@@ -386,6 +391,7 @@ void PairDPDfdt::read_restart(FILE *fp)
MPI_Bcast(&a0[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&a0[i][j],1,MPI_DOUBLE,0,world);
MPI_Bcast(&sigma[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&sigma[i][j],1,MPI_DOUBLE,0,world);
MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world);
a0_is_zero = a0_is_zero && (a0[i][j] == 0.0); // verify the zero assumption
} }
} }
} }
......
...@@ -50,6 +50,7 @@ class PairDPDfdt : public Pair { ...@@ -50,6 +50,7 @@ class PairDPDfdt : public Pair {
double cut_global; double cut_global;
int seed; int seed;
bool splitFDT_flag; bool splitFDT_flag;
bool a0_is_zero;
void allocate(); void allocate();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment