ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/notifyCutoffs.F90
Revision: 1160
Committed: Tue May 11 21:31:15 2004 UTC (20 years, 1 month ago) by gezelter
File size: 1286 byte(s)
Log Message:
Fortran-side changes for group-based cutoffs

File Contents

# User Rev Content
1 mmeineke 626 module notifyCutoffs
2    
3     use definitions
4     use do_Forces, only: setRlistDF
5     use reaction_field, only: setCutoffsRF
6     use lj, only: setCutoffLJ
7 chuckv 653 use eam, only: setCutoffEAM
8 gezelter 1150 use switcheroo, only: set_switch
9 mmeineke 626 implicit none
10    
11     PRIVATE
12 gezelter 1150
13     #define __FORTRAN90
14     #include "fSwitchingFunction.h"
15 mmeineke 626
16     public::cutoffNotify
17    
18     contains
19    
20 gezelter 1154 subroutine cutoffNotify( this_rcut, this_rsw, this_rlist )
21 mmeineke 626
22 gezelter 1154 real(kind=dp), intent(in) :: this_rcut, this_rsw, this_rlist
23 mmeineke 626
24 gezelter 1154 real(kind=dp) :: rsw, rcut, rlist
25 mmeineke 626 integer :: localError
26 gezelter 1160 logical :: do_shift
27 gezelter 845
28 mmeineke 626 rcut = this_rcut
29 gezelter 1154 rsw = this_rsw
30 mmeineke 626 rlist = this_rlist
31    
32 gezelter 1154 if (rcut .lt. rsw) then
33     write(*,*) 'warning, rcut = ', rcut, ' but rsw = ', rsw
34 gezelter 845 endif
35 mmeineke 626
36 gezelter 1154 if (rlist .lt. rcut) then
37     write(*,*) 'warning, rlist = ', rlist, ' but rcut = ', rcut
38     endif
39 gezelter 1160
40     do_shift = .false.
41     if (abs(rcut-rsw) .lt. 0.0001) then
42     do_shift = .true.
43     endif
44 gezelter 1154
45 mmeineke 626 call setRlistDF( rlist )
46 gezelter 1154 call setCutoffsRF( rcut, rsw )
47 gezelter 1160 call setCutoffLJ( rcut, do_shift, localError )
48 gezelter 1154 call setCutoffEAM( rcut, localError)
49     call set_switch(GROUP_SWITCH, rsw, rcut)
50 mmeineke 626
51     end subroutine cutoffNotify
52    
53     end module notifyCutoffs