rpa_contrib_ksym Function

private function rpa_contrib_ksym(J, p, a, spin)

Arguments

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

Return Value real(kind=dp)


Contents

Source Code


Source Code

    HElement_t(dp) function rpa_contrib_ksym(J, p, a, spin)
        ! same as above just with symmetry symbols instead of vectors
        ! BUT here i have to be careful to determine the substraction p - k
        ! already before calling this function! it is the k-symbol of the
        ! hole correspinding to p!
        real(dp), intent(in) :: J
        type(symmetry), intent(in) :: p, a
        integer, intent(in) :: spin
#ifdef DEBUG_
        character(*), parameter :: this_routine = "rpa_contrib_ksym"
#endif
        real(dp) :: n_opp_loc

        ASSERT(spin == -1 .or. spin == 1)

        if (spin == -1) then
            n_opp_loc = real(nOccAlpha, dp)
        else
            n_opp_loc = real(nOccBeta, dp)
        end if

        rpa_contrib_ksym = -2.0_dp * real(bhub, dp) * (cosh(J) - 1.0_dp) / real(omega, dp) * &
                           n_opp_loc * (epsilon_kvec(p) + epsilon_kvec(a))

    end function rpa_contrib_ksym