@brief Evaluate Matrix Element for different excitations using the Slater-Condon rules.
@details This generic function uses compile time dispatch. This means that exc cannot be just of class(Excitation_t) but has to be a proper non-polymorphic type. For run time dispatch use dyn_sltcnd_excit.
@param[in] exc, An excitation of a subtype of Excitation_t.
@brief Excitations further than max_excit_rank should return 0
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nI(nEl) | |||
type(Excite_Further_t), | intent(in) | :: | exc |
@brief Evaluate Matrix Element for Excite_1_t.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(SpinOrbIdx_t), | intent(in) | :: | ref | |||
type(Excite_1_t), | intent(in) | :: | exc | |||
logical, | intent(in) | :: | tParity |
@brief Evaluate Matrix Element for Excite_2_t.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(SpinOrbIdx_t), | intent(in) | :: | ref | |||
type(Excite_2_t), | intent(in) | :: | exc | |||
logical, | intent(in) | :: | tParity |
Type | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|
procedure(sltcnd_0_t), | pointer | :: | sltcnd_0 | => | null() | |
procedure(sltcnd_1_t), | pointer | :: | sltcnd_1 | => | null() | |
procedure(sltcnd_2_t), | pointer | :: | sltcnd_2 | => | null() | |
procedure(sltcnd_3_t), | pointer | :: | sltcnd_3 | => | null() |