| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | nSwitches | |||
| real(kind=dp), | intent(in) | :: | bVal | |||
| type(WeightData_t), | intent(in) | :: | double |
function getPlus_double(nSwitches, bVal, double) result(plusWeight) real(dp), intent(in) :: nSwitches, bVal type(WeightData_t), intent(in) :: double real(dp) :: plusWeight character(*), parameter :: this_routine = "getPlus_double" ASSERT(nSwitches >= 0.0_dp) ! update: the correct check for the b value in the case of the +2 ! double excitation branch should be that its not allowed to be ! less than 2 on the current orbital with the new bVector ! implementation: ! or otherwise the excitation would lead to negative be values if (bVal < 2.0_dp) then plusWeight = 0.0_dp else plusWeight = double%G + nSwitches / bVal end if ASSERT(plusWeight >= 0.0_dp) end function getPlus_double