| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | gen | |||
| integer, | intent(in) | :: | i | |||
| integer, | intent(in) | :: | j | |||
| integer, | intent(in) | :: | fullStart | |||
| integer, | intent(in) | :: | fullEnd | |||
| type(ExcitationType_t), | intent(in), | optional | :: | typ |
function assign_excitInfo_values_single(gen, i, j, fullStart, fullEnd, typ) & result(excitInfo) integer, intent(in) :: gen, i, j, fullStart, fullEnd type(ExcitationType_t), intent(in), optional :: typ type(ExcitationInformation_t) :: excitInfo ! set default values for single excitations: which cause errors if ! called in incorrect places if (present(typ)) then excitInfo%typ = typ else excitInfo%typ = excit_type%single end if if (i == j) then excitInfo%excitLvl = 0 excitInfo%weight = i else excitInfo%excitLvl = 2 excitInfo%weight = 0 end if excitInfo%k = 0 excitInfo%l = 0 excitInfo%secondStart = 0 excitInfo%firstEnd = 0 excitInfo%gen2 = -2 excitInfo%order = 0.0_dp excitInfo%order1 = 0.0_dp excitInfo%overlap = 0 ! then set proper values excitInfo%i = i excitInfo%j = j excitInfo%gen1 = gen excitInfo%fullStart = fullStart excitInfo%fullEnd = fullEnd excitInfo%currentGen = gen excitInfo%firstGen = gen excitInfo%lastGen = gen excitInfo%valid = .true. end function assign_excitInfo_values_single