ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/UseTheForce/notifyCutoffs.F90
(Generate patch)

Comparing trunk/OOPSE-4/src/UseTheForce/notifyCutoffs.F90 (file contents):
Revision 1948 by gezelter, Fri Jan 14 20:31:16 2005 UTC vs.
Revision 2295 by chrisfen, Thu Sep 15 00:13:15 2005 UTC

# Line 40 | Line 40 | module notifyCutoffs
40   !!
41  
42   module notifyCutoffs
43 <  
43 >
44    use definitions
45 <  use doForces, only:       setRlistDF
46 <  use reaction_field, only: setCutoffsRF
47 <  use lj, only:             setCutoffLJ
45 >  use doForces, only:       setDefaultCutoffs
46 >  use reaction_field_module, only: setCutoffsRF
47 >  use lj, only:             setLJDefaultCutoff
48    use eam, only:            setCutoffEAM
49    use switcheroo, only:     set_switch
50    use status
# Line 56 | Line 56 | module notifyCutoffs
56  
57   #define __FORTRAN90
58   #include "UseTheForce/fSwitchingFunction.h"
59 + #include "UseTheForce/fCutoffPolicy.h"
60  
61    public::cutoffNotify
62 <  
62 >
63   contains
64 <  
65 <  subroutine cutoffNotify( this_rcut, this_rsw, this_rlist )
66 <    
64 >
65 >  subroutine cutoffNotify( this_rcut, this_rsw, this_rlist, cutPolicy)
66 >
67      real(kind=dp), intent(in) :: this_rcut, this_rsw, this_rlist
68 <    
68 >    integer, intent(in) :: cutPolicy
69      real(kind=dp) :: rsw, rcut, rlist
70      integer :: localError
71      logical :: do_shift
72 <    
72 >
73      rcut   = this_rcut
74      rsw    = this_rsw
75      rlist  = this_rlist
76 <    
76 >
77      if (rcut .lt. rsw) then
78 <      
78 >
79         write(errMsg, *) 'cutoffRadius is ', rcut, newline // tab, &            
80 <              'but switchingRadius is set larger at ', rsw , newline // tab, &
81 <              'That is probably not what you wanted to do!'
82 <        
80 >            'but switchingRadius is set larger at ', rsw , newline // tab, &
81 >            'That is probably not what you wanted to do!'
82 >
83         call handleWarning("cutoffNotify", errMsg)
84  
85 <      endif
85 <      
86 <      if (rlist .lt. rcut) then
87 <        
88 <         write(errMsg, *) 'neighborListRadius is ', rlist, newline &
89 <              // tab,  'but cutoffRadius is set larger at ', rcut , newline &
90 <              // tab,  'That is probably a programming error!'
91 <        
92 <         call handleWarning("cutoffNotify", errMsg)
93 <        
94 <      endif
95 <      
96 <      do_shift = .false.
97 <      if (abs(rcut-rsw) .lt. 0.0001) then
85 >    endif
86  
87 <         write(errMsg, *) &
100 <              'cutoffRadius and switchingRadius are set to the same', newline &
101 <              // tab, 'value.  OOPSE will use shifted Lennard-Jones', newline &
102 <              // tab, 'potentials instead of switching functions.'
103 <        
104 <         call handleInfo("cutoffNotify", errMsg)
87 >    if (rlist .lt. rcut) then
88  
89 <         do_shift = .true.
89 >       write(errMsg, *) 'neighborListRadius is ', rlist, newline &
90 >            // tab,  'but cutoffRadius is set larger at ', rcut , newline &
91 >            // tab,  'That is probably a programming error!'
92  
93 <      endif
109 <      
110 <      call setRlistDF( rlist )
111 <      call setCutoffsRF( rcut, rsw )
112 <      call setCutoffLJ( rcut, do_shift, localError )
113 <      call setCutoffEAM( rcut, localError)
114 <      call set_switch(GROUP_SWITCH, rsw, rcut)
93 >       call handleWarning("cutoffNotify", errMsg)
94  
95 <    end subroutine cutoffNotify
95 >    endif
96  
97 <  end module notifyCutoffs
97 >    do_shift = .false.
98 >    if (abs(rcut-rsw) .lt. 0.0001) then
99 >
100 >       write(errMsg, *) &
101 >            'cutoffRadius and switchingRadius are set to the same', newline &
102 >            // tab, 'value.  OOPSE will use shifted Lennard-Jones', newline &
103 >            // tab, 'potentials instead of switching functions.'
104 >
105 >       call handleInfo("cutoffNotify", errMsg)
106 >
107 >       do_shift = .true.
108 >
109 >    endif
110 >
111 >    call setDefaultCutoffs(rcut, rsw, rlist, cutPolicy)
112 >    call setCutoffsRF( rcut, rsw )
113 >    call setLJDefaultCutoff( rcut, do_shift )
114 >    call setCutoffEAM( rcut, localError)
115 >    call set_switch(GROUP_SWITCH, rsw, rcut)
116 >
117 >    if (localError /= 0) then
118 >       write(errMsg, *) 'An error has occured in setting the default cutoff'
119 >       call handleError("cutoffNotify", errMsg)
120 >    end if
121 >
122 >
123 >  end subroutine cutoffNotify
124 >
125 > end module notifyCutoffs

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines