From 799b676f89f651167c6e6f04555a893ba37dbf59 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 21 May 2020 11:05:16 -0400 Subject: [PATCH] must skip corresponding per-atom data accumulation if compute_flag for pair or kspace is 0 --- src/compute_centroid_stress_atom.cpp | 6 +++--- src/compute_pe_atom.cpp | 4 ++-- src/compute_stress_atom.cpp | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/compute_centroid_stress_atom.cpp b/src/compute_centroid_stress_atom.cpp index 3f5b2cba81..7c979c66d7 100644 --- a/src/compute_centroid_stress_atom.cpp +++ b/src/compute_centroid_stress_atom.cpp @@ -177,7 +177,7 @@ void ComputeCentroidStressAtom::compute_peratom() // per-atom virial and per-atom centroid virial are the same for two-body // many-body pair styles not yet implemented - if (pairflag && force->pair) { + if (pairflag && force->pair && force->pair->compute_flag) { if (force->pair->centroidstressflag & 2) { double **cvatom = force->pair->cvatom; for (i = 0; i < npair; i++) @@ -226,7 +226,7 @@ void ComputeCentroidStressAtom::compute_peratom() stress[i][j] += cvatom[i][j]; } - if (kspaceflag && force->kspace) { + if (kspaceflag && force->kspace && force->kspace->compute_flag) { double **vatom = force->kspace->vatom; for (i = 0; i < nkspace; i++) { for (j = 0; j < 6; j++) @@ -258,7 +258,7 @@ void ComputeCentroidStressAtom::compute_peratom() // communicate ghost virials between neighbor procs - if (force->newton || (force->kspace && force->kspace->tip4pflag)) + if (force->newton || (force->kspace && force->kspace->tip4pflag && force->kspace->compute_flag)) comm->reverse_comm_compute(this); // zero virial of atoms not in group diff --git a/src/compute_pe_atom.cpp b/src/compute_pe_atom.cpp index 274e1b05a6..6bdd729502 100644 --- a/src/compute_pe_atom.cpp +++ b/src/compute_pe_atom.cpp @@ -119,7 +119,7 @@ void ComputePEAtom::compute_peratom() // add in per-atom contributions from each force - if (pairflag && force->pair) { + if (pairflag && force->pair && force->pair->compute_flag) { double *eatom = force->pair->eatom; for (i = 0; i < npair; i++) energy[i] += eatom[i]; } @@ -144,7 +144,7 @@ void ComputePEAtom::compute_peratom() for (i = 0; i < nbond; i++) energy[i] += eatom[i]; } - if (kspaceflag && force->kspace) { + if (kspaceflag && force->kspace && force->kspace->compute_flag) { double *eatom = force->kspace->eatom; for (i = 0; i < nkspace; i++) energy[i] += eatom[i]; } diff --git a/src/compute_stress_atom.cpp b/src/compute_stress_atom.cpp index 7c0ed9ef17..9c65ee86c2 100644 --- a/src/compute_stress_atom.cpp +++ b/src/compute_stress_atom.cpp @@ -170,7 +170,7 @@ void ComputeStressAtom::compute_peratom() // add in per-atom contributions from each force - if (pairflag && force->pair) { + if (pairflag && force->pair && force->pair->compute_flag) { double **vatom = force->pair->vatom; for (i = 0; i < npair; i++) for (j = 0; j < 6; j++) @@ -205,7 +205,7 @@ void ComputeStressAtom::compute_peratom() stress[i][j] += vatom[i][j]; } - if (kspaceflag && force->kspace) { + if (kspaceflag && force->kspace && force->kspace->compute_flag) { double **vatom = force->kspace->vatom; for (i = 0; i < nkspace; i++) for (j = 0; j < 6; j++)