getZero_fullStart Function

private function getZero_fullStart(negSwitches, posSwitches, bVal, fullStart) result(zeroWeight)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: negSwitches
real(kind=dp), intent(in) :: posSwitches
real(kind=dp), intent(in) :: bVal
type(WeightData_t), intent(in) :: fullStart

Return Value real(kind=dp)


Contents

Source Code


Source Code

    function getZero_fullStart(negSwitches, posSwitches, bVal, fullStart) &
        result(zeroWeight)
        real(dp), intent(in) :: negSwitches, posSwitches, bVal
        type(WeightData_t), intent(in) :: fullStart
        real(dp) :: zeroWeight
        character(*), parameter :: this_routine = "getZero_fullStart"

        ASSERT(negSwitches >= 0.0_dp)
        ASSERT(posSwitches >= 0.0_dp)

        zeroWeight = fullStart%F * fullStart%plus + fullStart%G * fullStart%minus + &
                     (negSwitches * fullStart%G * fullStart%plus + &
                      posSwitches * fullStart%F * fullStart%minus) / max(1.0_dp, bval)

        ASSERT(zeroWeight >= 0.0_dp)

    end function getZero_fullStart