create_crude_double Subroutine

public subroutine create_crude_double(ilut, exc, branch_pgen, excitInfo_in)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
integer(kind=n_int), intent(inout) :: exc(0:nifguga)
real(kind=dp), intent(out) :: branch_pgen
type(ExcitationInformation_t), intent(in), optional :: excitInfo_in

Contents

Source Code


Source Code

    subroutine create_crude_double(ilut, exc, branch_pgen, excitInfo_in)
        integer(n_int), intent(in) :: ilut(0:nifguga)
        integer(n_int), intent(inout) :: exc(0:nifguga)
        real(dp), intent(out) :: branch_pgen
        type(ExcitationInformation_t), intent(in), optional :: excitInfo_in
        character(*), parameter :: this_routine = "create_crude_double"

        type(ExcitationInformation_t) :: excitInfo

        call stop_all(this_routine, "not yet implemented ")

        if (present(excitInfo_in)) then
            excitInfo = excitInfo_in
        else
            call stop_all(this_routine, "not yet implemented without excitInfo_in")
        end if

        ! i think i still have to reuse the excitInfo information of the
        ! excitation type.. do I still know where the holes and electrons are
        ! in the double excitations?
        exc = ilut

        select case (excitInfo%typ)

            ! maybe i can combine some of them together
            ! i think i can.. but i have to think about that more clearly!
        case (excit_type%single_overlap_L_to_R, &
              excit_type%single_overlap_R_to_L)
            ! single overlap excitation

        end select

        if (.not. isProperCSF_ilut(exc)) then
            ! i have to check if i created a proper CSF
            branch_pgen = 0.0_dp
        end if

    end subroutine create_crude_double