two_body_contrib_ksym Function

private function two_body_contrib_ksym(J, p, a)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: J
type(Symmetry), intent(in) :: p
type(Symmetry), intent(in) :: a

Return Value real(kind=dp)


Contents

Source Code


Source Code

    HElement_t(dp) function two_body_contrib_ksym(J, p, a)
        ! same as above just with symmetry symbols
        ! AND: we have  to do the p - k before calling this function!
        real(dp), intent(in) :: J
        type(symmetry), intent(in) :: p, a

        if (.not. t_symmetric) then
            two_body_contrib_ksym = real(uhub, dp) / 2.0_dp + real(bhub, dp) * &
                                    ((exp(J) - 1.0_dp) * epsilon_kvec(a) + (exp(-J) - 1.0) * epsilon_kvec(p))
        else
            two_body_contrib_ksym = real(uhub, dp) / 2.0_dp + real(bhub, dp) * &
                                    ((exp(J) - 1.0_dp) * epsilon_kvec(a) + (exp(-J) - 1.0) * epsilon_kvec(p))
        end if

    end function two_body_contrib_ksym