From 1111c8ba93c913fba1f2a543599ccc0c2d716ebb Mon Sep 17 00:00:00 2001 From: sjplimp <sjplimp@f3b2605a-c512-4ea7-a41b-209d697bcdaa> Date: Sat, 16 Jul 2016 22:19:46 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@15337 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- src/USER-OMP/fix_shear_history_omp.cpp | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/src/USER-OMP/fix_shear_history_omp.cpp b/src/USER-OMP/fix_shear_history_omp.cpp index a91a129fee..fa9ca0711c 100644 --- a/src/USER-OMP/fix_shear_history_omp.cpp +++ b/src/USER-OMP/fix_shear_history_omp.cpp @@ -38,7 +38,6 @@ using namespace FixConst; void FixShearHistoryOMP::pre_exchange() { - const int nthreads = comm->nthreads; maxtouch = 0; @@ -56,10 +55,10 @@ void FixShearHistoryOMP::pre_exchange() int i,j,ii,jj,m,n,inum,jnum; int *ilist,*jlist,*numneigh,**firstneigh; int *touch,**firsttouch; - double *shear,*allshear,**firstshear; + double *shear,*shearj,*allshear,**firstshear; MyPage <tagint> &ipg = ipage[tid]; - MyPage <double[3]> &dpg = dpage[tid]; + MyPage <double> &dpg = dpage[tid]; ipg.reset(); dpg.reset(); @@ -117,7 +116,7 @@ void FixShearHistoryOMP::pre_exchange() if ((i >= lfrom) && (i < lto)) { n = npartner[i]; partner[i] = ipg.get(n); - shearpartner[i] = dpg.get(n); + shearpartner[i] = dpg.get(dnum*n); if (partner[i] == NULL || shearpartner[i] == NULL) error->one(FLERR,"Shear history overflow, boost neigh_modify one"); } @@ -143,21 +142,16 @@ void FixShearHistoryOMP::pre_exchange() j &= NEIGHMASK; if ((i >= lfrom) && (i < lto)) { - m = npartner[i]; + m = npartner[i]++; partner[i][m] = tag[j]; - shearpartner[i][m][0] = shear[0]; - shearpartner[i][m][1] = shear[1]; - shearpartner[i][m][2] = shear[2]; - npartner[i]++; + memcpy(&shearpartner[i][dnum*m],shear,dnumbytes); } if ((j >= lfrom) && (j < lto)) { - m = npartner[j]; + m = npartner[j]++; partner[j][m] = tag[i]; - shearpartner[j][m][0] = -shear[0]; - shearpartner[j][m][1] = -shear[1]; - shearpartner[j][m][2] = -shear[2]; - npartner[j]++; + shearj = &shearpartner[j][dnum*m]; + for (n = 0; n < dnum; n++) shearj[n] = -shear[n]; } } } -- GitLab