From 2111797ed873b29d4bf91caf7d81abd59cd6288b Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 8 Apr 2022 15:41:08 -0600 Subject: [PATCH] more force flips in torque2force --- src/AMOEBA/amoeba_utils.cpp | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/AMOEBA/amoeba_utils.cpp b/src/AMOEBA/amoeba_utils.cpp index ead7134ab6..0550e20bfb 100644 --- a/src/AMOEBA/amoeba_utils.cpp +++ b/src/AMOEBA/amoeba_utils.cpp @@ -1111,8 +1111,8 @@ void PairAmoeba::torque2force(int i, double *trq, if (axetyp == ZONLY) { for (j = 0; j < 3; j++) { du = uv[j]*dphidv/(usiz*uvsin) + uw[j]*dphidw/usiz; - f[ia][j] += du; - f[ib][j] -= du; + f[ia][j] -= du; + f[ib][j] += du; frcz[j] += du; } @@ -1122,9 +1122,9 @@ void PairAmoeba::torque2force(int i, double *trq, for (j = 0; j < 3; j++) { du = uv[j]*dphidv/(usiz*uvsin) + uw[j]*dphidw/usiz; dv = -uv[j]*dphidu/(vsiz*uvsin); - f[ia][j] += du; - f[ic][j] += dv; - f[ib][j] -= du + dv; + f[ia][j] -= du; + f[ic][j] -= dv; + f[ib][j] += du + dv; frcz[j] += du; frcx[j] += dv; } @@ -1135,9 +1135,9 @@ void PairAmoeba::torque2force(int i, double *trq, for (j = 0; j < 3; j++) { du = uv[j]*dphidv/(usiz*uvsin) + 0.5*uw[j]*dphidw/usiz; dv = -uv[j]*dphidu/(vsiz*uvsin) + 0.5*vw[j]*dphidw/vsiz; - f[ia][j] += du; - f[ic][j] += dv; - f[ib][j] -= du + dv; + f[ia][j] -= du; + f[ic][j] -= dv; + f[ib][j] += du + dv; frcz[j] += du; frcx[j] += dv; } @@ -1149,10 +1149,10 @@ void PairAmoeba::torque2force(int i, double *trq, du = ur[j]*dphidr/(usiz*ursin) + us[j]*dphids/usiz; dv = (vssin*s[j]-vscos*t1[j])*dphidu / (vsiz*(ut1sin+ut2sin)); dw = (wssin*s[j]-wscos*t2[j])*dphidu / (wsiz*(ut1sin+ut2sin)); - f[ia][j] += du; - f[ic][j] += dv; - f[id][j] += dw; - f[ib][j] -= du + dv + dw; + f[ia][j] -= du; + f[ic][j] -= dv; + f[id][j] -= dw; + f[ib][j] += du + dv + dw; frcz[j] += du; frcx[j] += dv; frcy[j] += dw; @@ -1191,8 +1191,8 @@ void PairAmoeba::torque2force(int i, double *trq, eps[2] = del[0]*w[1] - del[1]*w[0]; for (j = 0; j < 3; j++) { dw = del[j]*dphidr/(wsiz*rwsin) + eps[j]*dphiddel*wpcos/(wsiz*psiz); - f[id][j] += dw; - f[ib][j] -= dw; + f[id][j] -= dw; + f[ib][j] += dw; frcy[j] += dw; } r[0] = v[0] + w[0]; @@ -1216,8 +1216,8 @@ void PairAmoeba::torque2force(int i, double *trq, eps[2] = del[0]*u[1] - del[1]*u[0]; for (j = 0; j < 3; j++) { du = del[j]*dphidr/(usiz*rusin) + eps[j]*dphiddel*upcos/(usiz*psiz); - f[ia][j] += du; - f[ib][j] -= du; + f[ia][j] -= du; + f[ib][j] += du; frcz[j] += du; } r[0] = u[0] + w[0]; @@ -1241,8 +1241,8 @@ void PairAmoeba::torque2force(int i, double *trq, eps[2] = del[0]*v[1] - del[1]*v[0]; for (j = 0; j < 3; j++) { dv = del[j]*dphidr/(vsiz*rvsin) + eps[j]*dphiddel*vpcos/(vsiz*psiz); - f[ic][j] += dv; - f[ib][j] -= dv; + f[ic][j] -= dv; + f[ib][j] += dv; frcx[j] += dv; } }