bugfix for AngleAngle term in CLASS2 impropers by Ivan A. Strelnikov, ICP RAS
this closes #56
This commit is contained in:
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user