12 |
|
implicit none |
13 |
|
|
14 |
|
PRIVATE |
15 |
< |
real(kind=dp), save :: rrf = 0.0 |
15 |
> |
real(kind=dp), save :: ecr = 0.0 |
16 |
|
real(kind=dp), save :: rt = 0.0 |
17 |
|
real(kind=dp), save :: pre = 0.0 |
18 |
|
logical, save :: haveCutoffs = .false. |
29 |
|
|
30 |
|
contains |
31 |
|
|
32 |
< |
subroutine setCutoffsDipole(this_rrf, this_rt) |
33 |
< |
real(kind=dp), intent(in) :: this_rrf, this_rt |
34 |
< |
rrf = this_rrf |
32 |
> |
subroutine setCutoffsDipole(this_ecr, this_rt) |
33 |
> |
real(kind=dp), intent(in) :: this_ecr, this_rt |
34 |
> |
ecr = this_ecr |
35 |
|
rt = this_rt |
36 |
|
|
37 |
|
! pre converts from mu in units of debye to kcal/mol |
139 |
|
mu1 = MomentMap(me1)%dipole_moment |
140 |
|
mu2 = MomentMap(me2)%dipole_moment |
141 |
|
|
142 |
< |
if (rij.le.rrf) then |
142 |
> |
if (rij.le.ecr) then |
143 |
|
|
144 |
|
if (rij.lt.rt) then |
145 |
|
taper = 1.0d0 |
146 |
|
dtdr = 0.0d0 |
147 |
|
else |
148 |
< |
taper = (rrf + 2.0d0*rij - 3.0d0*rt)*(rrf-rij)**2/ ((rrf-rt)**3) |
149 |
< |
dtdr = 6.0d0*(rij*rij - rij*rt - rij*rrf +rrf*rt)/((rrf-rt)**3) |
148 |
> |
taper = (ecr + 2.0d0*rij - 3.0d0*rt)*(ecr-rij)**2/ ((ecr-rt)**3) |
149 |
> |
dtdr = 6.0d0*(rij*rij - rij*rt - rij*ecr +ecr*rt)/((ecr-rt)**3) |
150 |
|
endif |
151 |
|
|
152 |
|
r3 = r2*rij |