init_forced_end_exchange_weight Function

private elemental function init_forced_end_exchange_weight(csf_i, sOrb) result(forced_double)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: sOrb

Return Value type(WeightObj_t)


Contents


Source Code

    elemental function init_forced_end_exchange_weight(csf_i, sOrb) result(forced_double)
        ! obj has the same structure as the semi-start weight, reuse them!
        type(CSF_Info_t), intent(in) :: csf_i
        integer, intent(in) :: sOrb
        type(WeightObj_t) :: forced_double
        character(*), parameter :: this_routine = "init_forced_end_exchange_weight"

        ASSERT(sOrb > 0 .and. sOrb <= nSpatOrbs)

        forced_double%dat%F = endFx(csf_i, sOrb)
        forced_double%dat%G = endGx(csf_i, sOrb)

        forced_double%proc%minus => getMinus_double
        forced_double%proc%plus => getPlus_double
        forced_double%proc%zero => get_forced_zero_double

        forced_double%initialized = .true.
    end function init_forced_end_exchange_weight