| 1443 |
|
dks[i] = dk * skr[i]; |
| 1444 |
|
} |
| 1445 |
|
if (data.is_Quadrupole) { |
| 1446 |
< |
Q = atom->getQuadrupole(); |
| 1447 |
< |
Q *= mPoleConverter; |
| 1448 |
< |
Qk = Q * kVec; |
| 1446 |
> |
Q = atom->getQuadrupole() * mPoleConverter; |
| 1447 |
> |
Qk = Q * kVec; |
| 1448 |
|
qk = dot(kVec, Qk); |
| 1449 |
< |
qxk[i] = cross(kVec, Qk); |
| 1449 |
> |
qxk[i] = cross(Qk, kVec); |
| 1450 |
|
qkc[i] = qk * ckr[i]; |
| 1451 |
|
qks[i] = qk * skr[i]; |
| 1452 |
|
} |
| 1507 |
|
RealType qtrq2 = 2.0*AK[kk]*(ckr[i]*(ckcs-dkss-qkcs) |
| 1508 |
|
+skr[i]*(ckss+dkcs-qkss)); |
| 1509 |
|
|
| 1510 |
+ |
|
| 1511 |
+ |
cerr << "qkcs = " << qkcs << "\n"; |
| 1512 |
+ |
cerr << "qkss = " << qkss << "\n"; |
| 1513 |
+ |
cerr << "qkc[i] = " << qkc[i] << "\n"; |
| 1514 |
+ |
cerr << "qks[i] = " << qks[i] << "\n"; |
| 1515 |
+ |
cerr << "pot = " << 2.0 * rvol * AK[kk]*(qkss*qkss + qkcs*qkcs) << "\n"; |
| 1516 |
+ |
cerr << "qfrc = " << 4.0 * rvol * qfrc << "\n"; |
| 1517 |
+ |
cerr << "qtrq2 = " << 4.0 * rvol * qtrq2 << "\n"; |
| 1518 |
|
atom->addFrc( 4.0 * rvol * qfrc * kVec ); |
| 1519 |
|
|
| 1520 |
|
if (data.is_Dipole) { |