| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | a | |||
| integer, | intent(in) | :: | b | |||
| integer, | intent(in) | :: | c | |||
| real(kind=dp), | intent(inout) | :: | matel |
pure subroutine dampLMatel(a, b, c, matel) ! spin-projector for the tc terms - apply heuristically for three-body terms ! Input: a,b,c - Target orbital indices ! Input/Output: matel - on input, the bare matrix element, on return, the ! matrix element including spin-correction integer, intent(in) :: a, b, c HElement_t(dp), intent(inout) :: matel ! same-spin contributions are divided by 4 (this is exact) if (G1(a)%MS == G1(b)%MS .and. G1(b)%MS == G1(c)%MS) then matel = matel / 4.0_dp else ! opposite-spin contributions are divided by 2 (this is a guess, the ! exact form has an admixture of exchange terms) matel = matel / 2.0_dp end if end subroutine dampLMatel