calc_mixed_x2x_ueg Subroutine

public subroutine calc_mixed_x2x_ueg(ilut, csf_i, t, excitInfo, branch_pgen, pgen, integral, rdm_ind, rdm_mat)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
integer(kind=n_int), intent(in) :: t(0:nifguga)
type(ExcitationInformation_t), intent(inout) :: excitInfo
real(kind=dp), intent(inout) :: branch_pgen
real(kind=dp), intent(out) :: pgen
real(kind=dp), intent(out) :: integral
integer(kind=int_rdm), intent(out), optional, allocatable :: rdm_ind(:)
real(kind=dp), intent(out), optional, allocatable :: rdm_mat(:)

Contents

Source Code


Source Code

    subroutine calc_mixed_x2x_ueg(ilut, csf_i, t, excitInfo, branch_pgen, pgen, &
                                  integral, rdm_ind, rdm_mat)
        integer(n_int), intent(in) :: ilut(0:nifguga), t(0:nifguga)
        type(CSF_Info_t), intent(in) :: csf_i
        type(ExcitationInformation_t), intent(inout) :: excitInfo
        real(dp), intent(inout) :: branch_pgen
        real(dp), intent(out) :: pgen
        HElement_t(dp), intent(out) :: integral
        integer(int_rdm), intent(out), allocatable, optional :: rdm_ind(:)
        real(dp), intent(out), allocatable, optional :: rdm_mat(:)
        character(*), parameter :: this_routine = "calc_mixed_x2x_ueg"

        pgen = 0.0_dp
        integral = 0.0_dp
        unused_var(ilut); unused_var(t); unused_var(excitInfo); unused_var(branch_pgen);
        unused_var(csf_i)
        if (present(rdm_ind)) then
            allocate(rdm_ind(0), source=0_int_rdm)
        end if
        if (present(rdm_mat)) then
            allocate(rdm_mat(0), source=0.0_dp)
        end if
        call stop_all(this_routine, &
                      "in Hubbard/UEG calculations with full k-point symmetry, this excitation shouldnt be reached!")
    end subroutine calc_mixed_x2x_ueg