| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | nSwitches | |||
| real(kind=dp), | intent(in) | :: | bVal | |||
| type(WeightData_t), | intent(in) | :: | semiStart |
function getMinus_semiStart(nSwitches, bVal, semiStart) result(minusWeight) real(dp), intent(in) :: nSwitches, bVal type(WeightData_t), intent(in) :: semiStart real(dp) :: minusWeight character(*), parameter :: this_routine = "getMinus_semiStart" ASSERT(nSwitches >= 0.0_dp) ! change b value treatment, by just checking if excitations is ! technically possible if b == 0 minusWeight = semiStart%F * semiStart%zero + semiStart%G * semiStart%minus + & nSwitches / max(1.0_dp, bval) * (semiStart%F * semiStart%plus + semiStart%G * semiStart%zero) ASSERT(minusWeight >= 0.0_dp) end function getMinus_semiStart