45 |
|
|
46 |
|
!! @author Charles F. Vardeman II |
47 |
|
!! @author Matthew Meineke |
48 |
< |
!! @version $Id: doForces.F90,v 1.30 2005-08-17 15:26:37 gezelter Exp $, $Date: 2005-08-17 15:26:37 $, $Name: not supported by cvs2svn $, $Revision: 1.30 $ |
48 |
> |
!! @version $Id: doForces.F90,v 1.31 2005-08-26 16:36:16 gezelter Exp $, $Date: 2005-08-26 16:36:16 $, $Name: not supported by cvs2svn $, $Revision: 1.31 $ |
49 |
|
|
50 |
|
|
51 |
|
module doForces |
152 |
|
logical :: j_is_GB |
153 |
|
logical :: j_is_EAM |
154 |
|
logical :: j_is_Shape |
155 |
< |
|
155 |
> |
real(kind=dp) :: myRcut |
156 |
> |
|
157 |
|
status = 0 |
158 |
|
|
159 |
|
if (.not. associated(atypes)) then |
238 |
|
haveInteractionHash = .true. |
239 |
|
end subroutine createInteractionHash |
240 |
|
|
241 |
< |
subroutine createGtypeCutoffMap() |
241 |
> |
subroutine createGtypeCutoffMap(stat) |
242 |
|
|
243 |
+ |
integer, intent(out), optional :: stat |
244 |
|
logical :: i_is_LJ |
245 |
|
logical :: i_is_Elect |
246 |
|
logical :: i_is_Sticky |
249 |
|
logical :: i_is_EAM |
250 |
|
logical :: i_is_Shape |
251 |
|
|
252 |
< |
integer :: myStatus, nAtypes |
253 |
< |
real(kind=dp):: thisSigma, bigSigma |
252 |
> |
integer :: myStatus, nAtypes, i, j, istart, iend, jstart, jend |
253 |
> |
integer :: n_in_i |
254 |
> |
real(kind=dp):: thisSigma, bigSigma, thisRcut |
255 |
> |
real(kind=dp) :: biggestAtypeCutoff |
256 |
|
|
257 |
|
stat = 0 |
258 |
|
if (.not. haveInteractionHash) then |
288 |
|
thisRcut = getStickyCut(i) |
289 |
|
if (thisRCut .gt. atypeMaxCutoff(i)) atypeMaxCutoff(i) = thisRCut |
290 |
|
endif |
291 |
< |
if (i_is_StickyPower) then |
291 |
> |
if (i_is_StickyP) then |
292 |
|
thisRcut = getStickyPowerCut(i) |
293 |
|
if (thisRCut .gt. atypeMaxCutoff(i)) atypeMaxCutoff(i) = thisRCut |
294 |
|
endif |
295 |
< |
if (i_is_GayBerne) then |
295 |
> |
if (i_is_GB) then |
296 |
|
thisRcut = getGayBerneCut(i) |
297 |
|
if (thisRCut .gt. atypeMaxCutoff(i)) atypeMaxCutoff(i) = thisRCut |
298 |
|
endif |
318 |
|
iend = nGroups |
319 |
|
#endif |
320 |
|
outer: do i = istart, iend |
321 |
< |
|
321 |
> |
|
322 |
|
n_in_i = groupStartRow(i+1) - groupStartRow(i) |
323 |
< |
|
323 |
> |
|
324 |
|
#ifdef IS_MPI |
325 |
< |
jstart = 1 |
326 |
< |
jend = nGroupsInCol |
325 |
> |
jstart = 1 |
326 |
> |
jend = nGroupsInCol |
327 |
|
#else |
328 |
< |
jstart = i+1 |
329 |
< |
jend = nGroups |
328 |
> |
jstart = i+1 |
329 |
> |
jend = nGroups |
330 |
|
#endif |
331 |
< |
|
332 |
< |
|
333 |
< |
|
334 |
< |
|
335 |
< |
|
336 |
< |
|
337 |
< |
|
331 |
> |
|
332 |
> |
|
333 |
> |
|
334 |
> |
|
335 |
> |
|
336 |
> |
|
337 |
> |
enddo outer |
338 |
> |
|
339 |
|
haveGtypeCutoffMap = .true. |
340 |
|
end subroutine createGtypeCutoffMap |
341 |
|
|
355 |
|
cutoffPolicy = cutPolicy |
356 |
|
call createGtypeCutoffMap() |
357 |
|
|
358 |
< |
end subroutine setDefaultCutoffs |
358 |
> |
end subroutine setCutoffPolicy |
359 |
|
|
360 |
|
|
361 |
|
subroutine setSimVariables() |