sltcnd_0_tc Function

public function sltcnd_0_tc(nI, exc) result(hel)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nel)
type(Excite_0_t), intent(in) :: exc

Return Value real(kind=dp)


Contents

Source Code


Source Code

    function sltcnd_0_tc(nI, exc) result(hel)
        integer, intent(in) :: nI(nel)
        type(Excite_0_t), intent(in) :: exc
        HElement_t(dp) :: hel
        integer :: i, j, k
        integer :: dummy(1,0)

        ! get the diagonal matrix element up to 2nd order
        hel = sltcnd_0_base(nI, exc)
        ! then add the 3-body part
        if(t_use_tchint_lib) then
            hel = hel + external_lMat_matel(nI, dummy)
        else
            do i = 1, nel - 2
                do j = i + 1, nel - 1
                    do k = j + 1, nel
                        hel = hel + get_lmat_el(nI(i), nI(j), nI(k), nI(i), nI(j), nI(k))
                    end do
                end do
            end do
        end if
    end function sltcnd_0_tc