added torque correction from chain end

This commit is contained in:
phankl
2022-04-08 10:40:08 +01:00
parent 6f53663b63
commit 8d04b0f9ac

View File

@ -107,8 +107,8 @@ void PairMesoCNT::compute(int eflag, int vflag)
double fend, lp, scale, sumw, sumw_inv;
double evdwl, evdwl_chain;
double *r1, *r2, *q1, *q2, *qe;
double ftotal[3], ftorque[3], torque[3], delr1[3], delr2[3];
double t1[3], t2[3];
double ftotal[3], ftorque[3], torque[3], delr1[3], delr2[3], delqe[3];
double t1[3], t2[3], t3[3];
double dr1_sumw[3], dr2_sumw[3];
double dr1_w[3], dr2_w[3], dq1_w[3], dq2_w[3];
double fgrad_r1_p1[3], fgrad_r1_p2[3], fgrad_r2_p1[3], fgrad_r2_p2[3];
@ -280,6 +280,15 @@ void PairMesoCNT::compute(int eflag, int vflag)
cross3(delr2, fglobal[1], t2);
add3(t1, t2, torque);
// additional torque contribution from chain end
if (endflag) {
sub3(qe, p, delqe);
cross3(delqe, m, t3);
scale3(fend, t3);
add3(t3, torque, torque);
}
cross3(torque, m, ftorque);
lp = param[5] - param[4];
scale3(1.0 / lp, ftorque);