Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nI(nel) | |||
type(Excite_0_t), | intent(in) | :: | exc |
pure function sltcnd_0_tc_ua(nI, exc) result(hel)
integer, intent(in) :: nI(nel)
type(Excite_0_t), intent(in) :: exc
HElement_t(dp) :: hel
integer :: i, j, k
! get the diagonal matrix element up to 2nd order
hel = sltcnd_0_base_ua(nI, exc)
! then add the 3-body part
do i = 1, nel - 2
do j = i + 1, nel - 1
do k = j + 1, nel
hel = hel + get_lmat_el_ua(nI(i), nI(j), nI(k), nI(i), nI(j), nI(k))
end do
end do
end do
end function sltcnd_0_tc_ua