add_guga_lists_rdm Subroutine

private subroutine add_guga_lists_rdm(n_dets_tot, n_dets, list_tot, list)

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: n_dets_tot
integer, intent(in) :: n_dets
integer(kind=n_int), intent(inout) :: list_tot(0:,1:)
integer(kind=n_int), intent(inout) :: list(0:,1:)

Contents

Source Code


Source Code

    subroutine add_guga_lists_rdm(n_dets_tot, n_dets, list_tot, list)
        ! i need a new guga list addition for RDMs as I must not add
        ! identical excitations coming from different RDM index combinations
        ! otherwise I loose the information of those excitations!
        integer, intent(inout) ::        n_dets_tot
        integer, intent(in) ::           n_dets
        integer(n_int), intent(inout) :: list_tot(0:, 1:), list(0:, 1:)

        ! here I essentially only need to append the list to the total
        ! list and add the number of new elements to n_dets_tot

        list_tot(:, n_dets_tot + 1:n_dets_tot + n_dets) = list(:, 1:n_dets)
        n_dets_tot = n_dets_tot + n_dets

    end subroutine add_guga_lists_rdm