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

Comparing trunk/OOPSE-4/src/UseTheForce/doForces.F90 (file contents):
Revision 2512 by gezelter, Thu Dec 15 21:43:16 2005 UTC vs.
Revision 2715 by chrisfen, Sun Apr 16 02:51:16 2006 UTC

# Line 45 | Line 45
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.77 2006-04-16 02:51:16 chrisfen Exp $, $Date: 2006-04-16 02:51:16 $, $Name: not supported by cvs2svn $, $Revision: 1.77 $
49  
50  
51   module doForces
# Line 64 | Line 64 | module doForces
64    use eam
65    use suttonchen
66    use status
67 +  use interpolation
68   #ifdef IS_MPI
69    use mpiSimulation
70   #endif
# Line 281 | Line 282 | contains
282      logical :: i_is_GB
283      logical :: i_is_EAM
284      logical :: i_is_Shape
285 +    logical :: i_is_SC
286      logical :: GtypeFound
287  
288      integer :: myStatus, nAtypes,  i, j, istart, iend, jstart, jend
# Line 310 | Line 312 | contains
312            call getElementProperty(atypes, i, "is_GayBerne", i_is_GB)
313            call getElementProperty(atypes, i, "is_EAM", i_is_EAM)
314            call getElementProperty(atypes, i, "is_Shape", i_is_Shape)
315 <          
315 >          call getElementProperty(atypes, i, "is_SC", i_is_SC)
316  
317            if (haveDefaultCutoffs) then
318               atypeMaxCutoff(i) = defaultRcut
# Line 341 | Line 343 | contains
343               endif
344               if (i_is_Shape) then
345                  thisRcut = getShapeCut(i)
346 +                if (thisRCut .gt. atypeMaxCutoff(i)) atypeMaxCutoff(i) = thisRCut
347 +             endif
348 +             if (i_is_SC) then
349 +                thisRcut = getSCCut(i)
350                  if (thisRCut .gt. atypeMaxCutoff(i)) atypeMaxCutoff(i) = thisRCut
351               endif
352            endif
# Line 394 | Line 400 | contains
400         allocate(groupToGtypeCol(jend))
401      end if
402  
403 <    if(.not.associated(groupToGtypeCol)) then
404 <       allocate(groupToGtypeCol(jend))
403 >    if(.not.associated(groupMaxCutoffCol)) then
404 >       allocate(groupMaxCutoffCol(jend))
405      else
406 <       deallocate(groupToGtypeCol)
407 <       allocate(groupToGtypeCol(jend))
406 >       deallocate(groupMaxCutoffCol)
407 >       allocate(groupMaxCutoffCol(jend))
408      end if
409      if(.not.associated(gtypeMaxCutoffCol)) then
410         allocate(gtypeMaxCutoffCol(jend))
# Line 421 | Line 427 | contains
427      
428      tol = 1.0d-6
429      nGroupTypesRow = 0
430 <
430 >    nGroupTypesCol = 0
431      do i = istart, iend      
432         n_in_i = groupStartRow(i+1) - groupStartRow(i)
433         groupMaxCutoffRow(i) = 0.0_dp
# Line 585 | Line 591 | contains
591         call handleError("setCutoffs", errMsg)
592       end if
593       call set_switch(GROUP_SWITCH, defaultRsw, defaultRcut)
594 +     call setHmatDangerousRcutValue(defaultRcut)
595  
596       haveDefaultCutoffs = .true.
597       haveGtypeCutoffMap = .false.
# Line 632 | Line 639 | contains
639       SIM_requires_postpair_calc = SimRequiresPostpairCalc()
640       SIM_requires_prepair_calc = SimRequiresPrepairCalc()
641       SIM_uses_PBC = SimUsesPBC()
642 +     SIM_uses_SC = SimUsesSC()
643      
644       haveSIMvariables = .true.
645      
# Line 656 | Line 664 | contains
664  
665      if (VisitCutoffsAfterComputing) then
666         call set_switch(GROUP_SWITCH, largestRcut, largestRcut)      
667 +       call setHmatDangerousRcutValue(largestRcut)
668      endif
669  
670  
# Line 711 | Line 720 | contains
720      FF_uses_Dipoles = .false.
721      FF_uses_GayBerne = .false.
722      FF_uses_EAM = .false.
723 +    FF_uses_SC = .false.
724  
725      call getMatchingElementList(atypes, "is_Directional", .true., &
726           nMatches, MatchList)
# Line 727 | Line 737 | contains
737      call getMatchingElementList(atypes, "is_EAM", .true., nMatches, MatchList)
738      if (nMatches .gt. 0) FF_uses_EAM = .true.
739  
740 +    call getMatchingElementList(atypes, "is_SC", .true., nMatches, MatchList)
741 +    if (nMatches .gt. 0) FF_uses_SC = .true.
742  
743 +
744      haveSaneForceField = .true.
745  
746      if (FF_uses_EAM) then

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines