49 |
|
use status |
50 |
|
use atype_module |
51 |
|
use vector_class |
52 |
+ |
use fForceOptions |
53 |
|
#ifdef IS_MPI |
54 |
|
use mpiSimulation |
55 |
|
#endif |
147 |
|
public :: getSCCut |
148 |
|
! public :: setSCDefaultCutoff |
149 |
|
! public :: setSCUniformCutoff |
150 |
< |
public :: useGeometricMixing |
150 |
> |
|
151 |
|
|
152 |
|
contains |
153 |
|
|
177 |
|
|
178 |
|
! check to see if this is the first time into |
179 |
|
if (.not.associated(SCList%SCTypes)) then |
180 |
< |
call getMatchingElementList(atypes, "is_SuttonChen", .true., nSCtypes, MatchList) |
180 |
> |
call getMatchingElementList(atypes, "is_SC", .true., nSCtypes, MatchList) |
181 |
|
SCList%nSCtypes = nSCtypes |
182 |
|
allocate(SCList%SCTypes(nSCTypes)) |
183 |
|
nAtypes = getSize(atypes) |
222 |
|
real(kind=dp) :: cutValue |
223 |
|
|
224 |
|
scID = SCList%atidToSCType(atomID) |
225 |
< |
cutValue = SCList%SCTypes(scID)%sc_rcut |
225 |
> |
cutValue = 2.0_dp * SCList%SCTypes(scID)%alpha |
226 |
|
end function getSCCut |
227 |
|
|
228 |
|
|
244 |
|
if (.not. allocated(MixingMap)) then |
245 |
|
allocate(MixingMap(nSCtypes, nSCtypes)) |
246 |
|
endif |
247 |
< |
|
247 |
> |
useGeometricDistanceMixing = usesGeometricDistanceMixing() |
248 |
|
do i = 1, nSCtypes |
249 |
|
|
250 |
|
e1 = SCList%SCtypes(i)%epsilon |
397 |
|
|
398 |
|
end subroutine setCutoffSC |
399 |
|
|
399 |
– |
subroutine useGeometricMixing() |
400 |
– |
useGeometricDistanceMixing = .true. |
401 |
– |
haveMixingMap = .false. |
402 |
– |
return |
403 |
– |
end subroutine useGeometricMixing |
404 |
– |
|
405 |
– |
|
406 |
– |
|
407 |
– |
|
408 |
– |
|
409 |
– |
|
410 |
– |
|
411 |
– |
|
412 |
– |
|
400 |
|
subroutine clean_SC() |
401 |
|
|
402 |
|
! clean non-IS_MPI first |