45 |
|
|
46 |
|
!! @author Charles F. Vardeman II |
47 |
|
!! @author Matthew Meineke |
48 |
< |
!! @version $Id: doForces.F90,v 1.86 2007-04-09 18:24:00 gezelter Exp $, $Date: 2007-04-09 18:24:00 $, $Name: not supported by cvs2svn $, $Revision: 1.86 $ |
48 |
> |
!! @version $Id: doForces.F90,v 1.87 2007-04-20 18:15:46 chrisfen Exp $, $Date: 2007-04-20 18:15:46 $, $Name: not supported by cvs2svn $, $Revision: 1.87 $ |
49 |
|
|
50 |
|
|
51 |
|
module doForces |
113 |
|
|
114 |
|
real(kind=dp), save :: defaultRcut, defaultRsw, largestRcut |
115 |
|
real(kind=dp), save :: skinThickness |
116 |
< |
logical, save :: defaultDoShift |
116 |
> |
logical, save :: defaultDoShiftPot |
117 |
> |
logical, save :: defaultDoShiftFrc |
118 |
|
|
119 |
|
public :: init_FF |
120 |
|
public :: setCutoffs |
563 |
|
haveGtypeCutoffMap = .true. |
564 |
|
end subroutine createGtypeCutoffMap |
565 |
|
|
566 |
< |
subroutine setCutoffs(defRcut, defRsw) |
566 |
> |
subroutine setCutoffs(defRcut, defRsw, defSP, defSF) |
567 |
|
|
568 |
|
real(kind=dp),intent(in) :: defRcut, defRsw |
569 |
+ |
logical, intent(in) :: defSP, defSF |
570 |
|
character(len = statusMsgSize) :: errMsg |
571 |
|
integer :: localError |
572 |
|
|
573 |
|
defaultRcut = defRcut |
574 |
|
defaultRsw = defRsw |
575 |
|
|
576 |
< |
defaultDoShift = .false. |
576 |
> |
defaultDoShiftPot = defSP |
577 |
> |
defaultDoShiftFrc = defSF |
578 |
> |
|
579 |
|
if (abs(defaultRcut-defaultRsw) .lt. 0.0001) then |
580 |
< |
|
581 |
< |
write(errMsg, *) & |
582 |
< |
'cutoffRadius and switchingRadius are set to the same', newline & |
583 |
< |
// tab, 'value. OOPSE will use shifted force van der Waals', newline & |
584 |
< |
// tab, 'potentials instead of switching functions.' |
585 |
< |
|
586 |
< |
call handleInfo("setCutoffs", errMsg) |
587 |
< |
|
588 |
< |
defaultDoShift = .true. |
589 |
< |
|
580 |
> |
if (defaultDoShiftFrc) then |
581 |
> |
write(errMsg, *) & |
582 |
> |
'cutoffRadius and switchingRadius are set to the', newline & |
583 |
> |
// tab, 'same value. OOPSE will use shifted force', newline & |
584 |
> |
// tab, 'potentials instead of switching functions.' |
585 |
> |
|
586 |
> |
call handleInfo("setCutoffs", errMsg) |
587 |
> |
else |
588 |
> |
write(errMsg, *) & |
589 |
> |
'cutoffRadius and switchingRadius are set to the', newline & |
590 |
> |
// tab, 'same value. OOPSE will use shifted', newline & |
591 |
> |
// tab, 'potentials instead of switching functions.' |
592 |
> |
|
593 |
> |
call handleInfo("setCutoffs", errMsg) |
594 |
> |
|
595 |
> |
defaultDoShiftPot = .true. |
596 |
> |
endif |
597 |
> |
|
598 |
|
endif |
599 |
|
|
600 |
|
localError = 0 |
601 |
< |
call setLJDefaultCutoff( defaultRcut, defaultDoShift ) |
601 |
> |
call setLJDefaultCutoff( defaultRcut, defaultDoShiftPot, & |
602 |
> |
defaultDoShiftFrc ) |
603 |
|
call setElectrostaticCutoffRadius( defaultRcut, defaultRsw ) |
604 |
|
call setCutoffEAM( defaultRcut ) |
605 |
|
call setCutoffSC( defaultRcut ) |