45 |
|
|
46 |
|
!! @author Charles F. Vardeman II |
47 |
|
!! @author Matthew Meineke |
48 |
< |
!! @version $Id: doForces.F90,v 1.46 2005-09-18 20:45:38 chrisfen Exp $, $Date: 2005-09-18 20:45:38 $, $Name: not supported by cvs2svn $, $Revision: 1.46 $ |
48 |
> |
!! @version $Id: doForces.F90,v 1.47 2005-09-19 23:21:46 chrisfen Exp $, $Date: 2005-09-19 23:21:46 $, $Name: not supported by cvs2svn $, $Revision: 1.47 $ |
49 |
|
|
50 |
|
|
51 |
|
module doForces |
75 |
|
#include "UseTheForce/fSwitchingFunction.h" |
76 |
|
#include "UseTheForce/fCutoffPolicy.h" |
77 |
|
#include "UseTheForce/DarkSide/fInteractionMap.h" |
78 |
+ |
#include "UseTheForce/DarkSide/fElectrostaticSummationMethod.h" |
79 |
|
|
80 |
|
|
81 |
|
INTEGER, PARAMETER:: PREPAIR_LOOP = 1 |
505 |
|
subroutine init_FF(thisESM, thisStat) |
506 |
|
|
507 |
|
integer, intent(in) :: thisESM |
507 |
– |
real(kind=dp), intent(in) :: dampingAlpha |
508 |
|
integer, intent(out) :: thisStat |
509 |
|
integer :: my_status, nMatches |
510 |
|
integer, pointer :: MatchList(:) => null() |
547 |
|
!! check to make sure the reaction field setting makes sense |
548 |
|
|
549 |
|
if (FF_uses_Dipoles) then |
550 |
< |
if (electrostaticSummationMethod == 3) then |
550 |
> |
if (electrostaticSummationMethod == REACTION_FIELD) then |
551 |
|
dielect = getDielect() |
552 |
|
call initialize_rf(dielect) |
553 |
|
endif |
554 |
|
else |
555 |
< |
if (electrostaticSummationMethod == 3) then |
555 |
> |
if (electrostaticSummationMethod == REACTION_FIELD) then |
556 |
|
write(default_error,*) 'Using Reaction Field with no dipoles? Huh?' |
557 |
|
thisStat = -1 |
558 |
|
haveSaneForceField = .false. |
970 |
|
|
971 |
|
if (FF_RequiresPostpairCalc() .and. SIM_requires_postpair_calc) then |
972 |
|
|
973 |
< |
if (electrostaticSummationMethod == 3) then |
973 |
> |
if (electrostaticSummationMethod == REACTION_FIELD) then |
974 |
|
|
975 |
|
#ifdef IS_MPI |
976 |
|
call scatter(rf_Row,rf,plan_atom_row_3d) |
1080 |
|
call doElectrostaticPair(i, j, d, r, rijsq, sw, vpair, fpair, & |
1081 |
|
pot, eFrame, f, t, do_pot) |
1082 |
|
|
1083 |
< |
if (electrostaticSummationMethod == 3) then |
1083 |
> |
if (electrostaticSummationMethod == REACTION_FIELD) then |
1084 |
|
|
1085 |
|
! CHECK ME (RF needs to know about all electrostatic types) |
1086 |
|
call accumulate_rf(i, j, r, eFrame, sw) |
1362 |
|
|
1363 |
|
function FF_RequiresPostpairCalc() result(doesit) |
1364 |
|
logical :: doesit |
1365 |
< |
if (electrostaticSummationMethod == 3) doesit = .true. |
1365 |
> |
if (electrostaticSummationMethod == REACTION_FIELD) doesit = .true. |
1366 |
|
end function FF_RequiresPostpairCalc |
1367 |
|
|
1368 |
|
#ifdef PROFILE |