diff --git a/src/CLASS2/improper_class2.cpp b/src/CLASS2/improper_class2.cpp index 942f46aa22..6c599276ca 100644 --- a/src/CLASS2/improper_class2.cpp +++ b/src/CLASS2/improper_class2.cpp @@ -819,7 +819,8 @@ void ImproperClass2::angleangle(int eflag, int vflag) if (evflag) ev_tally(i1,i2,i3,i4,nlocal,newton_bond,eimproper, fabcd[0],fabcd[2],fabcd[3], - delxAB,delyAB,delzAB,delxBC,delyBC,delzBC,delxBD,delyBD,delzBD); + delxAB,delyAB,delzAB,delxBC,delyBC,delzBC, + delxBD-delxBC,delyBD-delyBC,delzBD-delzBC); } } diff --git a/src/MOLECULE/improper_umbrella.cpp b/src/MOLECULE/improper_umbrella.cpp index 38493530c6..a2f176e732 100644 --- a/src/MOLECULE/improper_umbrella.cpp +++ b/src/MOLECULE/improper_umbrella.cpp @@ -233,7 +233,7 @@ void ImproperUmbrella::compute(int eflag, int vflag) if (evflag) { - // correct 4-body geometry for virial tally + // get correct 4-body geometry for virial tally vb1x = x[i1][0] - x[i2][0]; vb1y = x[i1][1] - x[i2][1]; @@ -247,7 +247,6 @@ void ImproperUmbrella::compute(int eflag, int vflag) vb3y = x[i4][1] - x[i3][1]; vb3z = x[i4][2] - x[i3][2]; - ev_tally(i1,i2,i3,i4,nlocal,newton_bond,eimproper,f1,f3,f4, vb1x,vb1y,vb1z,vb2x,vb2y,vb2z,vb3x,vb3y,vb3z); } diff --git a/src/USER-OMP/improper_class2_omp.cpp b/src/USER-OMP/improper_class2_omp.cpp index 5e32795371..3beeb41a26 100644 --- a/src/USER-OMP/improper_class2_omp.cpp +++ b/src/USER-OMP/improper_class2_omp.cpp @@ -696,7 +696,8 @@ void ImproperClass2OMP::angleangle_thr(int nfrom, int nto, ThrData * const thr) if (EVFLAG) ev_tally_thr(this,i1,i2,i3,i4,nlocal,NEWTON_BOND,eimproper, - fabcd[0],fabcd[2],fabcd[3],delxAB,delyAB,delzAB, - delxBC,delyBC,delzBC,delxBD,delyBD,delzBD,thr); + fabcd[0],fabcd[2],fabcd[3], + delxAB,delyAB,delzAB,delxBC,delyBC,delzBC, + delxBD-delxBC,delyBD-delyBC,delzBD-delzBC,thr); } }