4 |
|
|
5 |
|
!! @author Charles F. Vardeman II |
6 |
|
!! @author Matthew Meineke |
7 |
< |
!! @version $Id: do_Forces.F90,v 1.23 2003-03-17 21:38:57 mmeineke Exp $, $Date: 2003-03-17 21:38:57 $, $Name: not supported by cvs2svn $, $Revision: 1.23 $ |
7 |
> |
!! @version $Id: do_Forces.F90,v 1.24 2003-03-18 16:46:47 gezelter Exp $, $Date: 2003-03-18 16:46:47 $, $Name: not supported by cvs2svn $, $Revision: 1.24 $ |
8 |
|
|
9 |
|
module do_Forces |
10 |
+ |
use force_globals |
11 |
|
use simulation |
12 |
|
use definitions |
13 |
|
use atype_module |
47 |
|
integer, intent(out) :: thisStat |
48 |
|
integer :: my_status, nMatches |
49 |
|
integer, pointer :: MatchList(:) |
50 |
+ |
real(kind=dp) :: rcut, rrf, rt, dielect |
51 |
|
|
52 |
|
!! assume things are copacetic, unless they aren't |
53 |
|
thisStat = 0 |
90 |
|
|
91 |
|
!! check to make sure the FF_uses_RF setting makes sense |
92 |
|
|
93 |
< |
if (FF_uses_RF) then |
94 |
< |
if (FF_uses_dipoles) then |
95 |
< |
call initialize_rf() |
96 |
< |
else |
93 |
> |
if (FF_uses_dipoles) then |
94 |
> |
rrf = getRrf() |
95 |
> |
rt = getRt() |
96 |
> |
call initialize_dipole(rrf, rt) |
97 |
> |
if (FF_uses_RF) then |
98 |
> |
dielect = getDielect() |
99 |
> |
call initialize_rf(rrf, rt, dielect) |
100 |
> |
endif |
101 |
> |
else |
102 |
> |
if (FF_uses_RF) then |
103 |
|
write(default_error,*) 'Using Reaction Field with no dipoles? Huh?' |
104 |
|
thisStat = -1 |
105 |
|
return |
108 |
|
|
109 |
|
if (FF_uses_LJ) then |
110 |
|
|
111 |
+ |
call getRcut(rcut) |
112 |
+ |
|
113 |
|
select case (LJMIXPOLICY) |
114 |
|
case (LB_MIXING_RULE) |
115 |
< |
call init_lj_FF(LB_MIXING_RULE, my_status) |
115 |
> |
call init_lj_FF(LB_MIXING_RULE, rcut, my_status) |
116 |
|
case (EXPLICIT_MIXING_RULE) |
117 |
< |
call init_lj_FF(EXPLICIT_MIXING_RULE, my_status) |
117 |
> |
call init_lj_FF(EXPLICIT_MIXING_RULE, rcut, my_status) |
118 |
|
case default |
119 |
|
write(default_error,*) 'unknown LJ Mixing Policy!' |
120 |
|
thisStat = -1 |
519 |
|
|
520 |
|
if ( is_DP_i .and. is_DP_j ) then |
521 |
|
|
522 |
< |
call do_dipole_pair(i, j, d, r, pot, u_l, f, t, do_pot, do_stress) |
522 |
> |
call do_dipole_pair(i, j, d, r, rijsq, pot, u_l, f, t, & |
523 |
> |
do_pot, do_stress) |
524 |
|
|
525 |
|
if (FF_uses_RF .and. SimUsesRF()) then |
526 |
|
|