45 |
|
|
46 |
|
!! @author Charles F. Vardeman II |
47 |
|
!! @author Matthew Meineke |
48 |
< |
!! @version $Id: doForces.F90,v 1.71 2005-12-15 21:43:16 gezelter Exp $, $Date: 2005-12-15 21:43:16 $, $Name: not supported by cvs2svn $, $Revision: 1.71 $ |
48 |
> |
!! @version $Id: doForces.F90,v 1.75 2006-01-09 22:22:35 chuckv Exp $, $Date: 2006-01-09 22:22:35 $, $Name: not supported by cvs2svn $, $Revision: 1.75 $ |
49 |
|
|
50 |
|
|
51 |
|
module doForces |
281 |
|
logical :: i_is_GB |
282 |
|
logical :: i_is_EAM |
283 |
|
logical :: i_is_Shape |
284 |
+ |
logical :: i_is_SC |
285 |
|
logical :: GtypeFound |
286 |
|
|
287 |
|
integer :: myStatus, nAtypes, i, j, istart, iend, jstart, jend |
311 |
|
call getElementProperty(atypes, i, "is_GayBerne", i_is_GB) |
312 |
|
call getElementProperty(atypes, i, "is_EAM", i_is_EAM) |
313 |
|
call getElementProperty(atypes, i, "is_Shape", i_is_Shape) |
314 |
< |
|
314 |
> |
call getElementProperty(atypes, i, "is_SC", i_is_SC) |
315 |
|
|
316 |
|
if (haveDefaultCutoffs) then |
317 |
|
atypeMaxCutoff(i) = defaultRcut |
342 |
|
endif |
343 |
|
if (i_is_Shape) then |
344 |
|
thisRcut = getShapeCut(i) |
345 |
+ |
if (thisRCut .gt. atypeMaxCutoff(i)) atypeMaxCutoff(i) = thisRCut |
346 |
+ |
endif |
347 |
+ |
if (i_is_SC) then |
348 |
+ |
thisRcut = getSCCut(i) |
349 |
|
if (thisRCut .gt. atypeMaxCutoff(i)) atypeMaxCutoff(i) = thisRCut |
350 |
|
endif |
351 |
|
endif |
399 |
|
allocate(groupToGtypeCol(jend)) |
400 |
|
end if |
401 |
|
|
402 |
< |
if(.not.associated(groupToGtypeCol)) then |
403 |
< |
allocate(groupToGtypeCol(jend)) |
402 |
> |
if(.not.associated(groupMaxCutoffCol)) then |
403 |
> |
allocate(groupMaxCutoffCol(jend)) |
404 |
|
else |
405 |
< |
deallocate(groupToGtypeCol) |
406 |
< |
allocate(groupToGtypeCol(jend)) |
405 |
> |
deallocate(groupMaxCutoffCol) |
406 |
> |
allocate(groupMaxCutoffCol(jend)) |
407 |
|
end if |
408 |
|
if(.not.associated(gtypeMaxCutoffCol)) then |
409 |
|
allocate(gtypeMaxCutoffCol(jend)) |
426 |
|
|
427 |
|
tol = 1.0d-6 |
428 |
|
nGroupTypesRow = 0 |
429 |
< |
|
429 |
> |
nGroupTypesCol = 0 |
430 |
|
do i = istart, iend |
431 |
|
n_in_i = groupStartRow(i+1) - groupStartRow(i) |
432 |
|
groupMaxCutoffRow(i) = 0.0_dp |
637 |
|
SIM_requires_postpair_calc = SimRequiresPostpairCalc() |
638 |
|
SIM_requires_prepair_calc = SimRequiresPrepairCalc() |
639 |
|
SIM_uses_PBC = SimUsesPBC() |
640 |
+ |
SIM_uses_SC = SimUsesSC() |
641 |
|
|
642 |
|
haveSIMvariables = .true. |
643 |
|
|
717 |
|
FF_uses_Dipoles = .false. |
718 |
|
FF_uses_GayBerne = .false. |
719 |
|
FF_uses_EAM = .false. |
720 |
+ |
FF_uses_SC = .false. |
721 |
|
|
722 |
|
call getMatchingElementList(atypes, "is_Directional", .true., & |
723 |
|
nMatches, MatchList) |
734 |
|
call getMatchingElementList(atypes, "is_EAM", .true., nMatches, MatchList) |
735 |
|
if (nMatches .gt. 0) FF_uses_EAM = .true. |
736 |
|
|
737 |
+ |
call getMatchingElementList(atypes, "is_SC", .true., nMatches, MatchList) |
738 |
+ |
if (nMatches .gt. 0) FF_uses_SC = .true. |
739 |
+ |
|
740 |
|
|
741 |
|
haveSaneForceField = .true. |
742 |
|
|