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