| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(CSF_Info_t), | intent(in) | :: | csf_i | |||
| integer, | intent(in) | :: | sOrb |
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