339 |
|
real (kind=dp) :: pref, vterm, epot, dudr |
340 |
|
real (kind=dp) :: xhat, yhat, zhat |
341 |
|
real (kind=dp) :: dudx, dudy, dudz |
342 |
– |
real (kind=dp) :: drdxj, drdyj, drdzj |
342 |
|
real (kind=dp) :: scale, sc2, bigR |
343 |
|
|
344 |
|
if (.not.allocated(ElectrostaticMap)) then |
361 |
|
xhat = d(1) * riji |
362 |
|
yhat = d(2) * riji |
363 |
|
zhat = d(3) * riji |
365 |
– |
|
366 |
– |
drdxj = xhat |
367 |
– |
drdyj = yhat |
368 |
– |
drdzj = zhat |
364 |
|
|
365 |
|
!! logicals |
366 |
|
|
443 |
|
uz_j(2) = eFrame(6,atom2) |
444 |
|
uz_j(3) = eFrame(9,atom2) |
445 |
|
#endif |
446 |
< |
ct_j = uz_j(1)*drdxj + uz_j(2)*drdyj + uz_j(3)*drdzj |
446 |
> |
ct_j = uz_j(1)*xhat + uz_j(2)*yhat + uz_j(3)*zhat |
447 |
|
|
448 |
|
if (j_is_SplitDipole) then |
449 |
|
d_j = ElectrostaticMap(me2)%split_dipole_distance |
503 |
|
|
504 |
|
dudr = - sw * vterm * riji |
505 |
|
|
506 |
< |
dudx = dudx + dudr * drdxj |
507 |
< |
dudy = dudy + dudr * drdyj |
508 |
< |
dudz = dudz + dudr * drdzj |
506 |
> |
dudx = dudx + dudr * xhat |
507 |
> |
dudy = dudy + dudr * yhat |
508 |
> |
dudz = dudz + dudr * zhat |
509 |
|
|
510 |
|
endif |
511 |
|
|
552 |
|
cz2 = cz_j * cz_j |
553 |
|
|
554 |
|
|
555 |
< |
pref = pre14 * q_i / 1.0_dp |
555 |
> |
pref = pre14 * q_i / 3.0_dp |
556 |
|
vterm = pref * ri3 * (qxx_j * (3.0_dp*cx2 - 1.0_dp) + & |
557 |
|
qyy_j * (3.0_dp*cy2 - 1.0_dp) + & |
558 |
|
qzz_j * (3.0_dp*cz2 - 1.0_dp)) |
678 |
|
cy2 = cy_i * cy_i |
679 |
|
cz2 = cz_i * cz_i |
680 |
|
|
681 |
< |
pref = pre14 * q_j / 1.0_dp |
681 |
> |
pref = pre14 * q_j / 3.0_dp |
682 |
|
vterm = pref * ri3 * (qxx_i * (3.0_dp*cx2 - 1.0_dp) + & |
683 |
|
qyy_i * (3.0_dp*cy2 - 1.0_dp) + & |
684 |
|
qzz_i * (3.0_dp*cz2 - 1.0_dp)) |