calc_pgen_mol_guga_single Function

public function calc_pgen_mol_guga_single(ilutI, nI, csf_i, ilutJ, nJ, excitInfo) result(pgen)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilutI(0:niftot)
integer, intent(in) :: nI(nel)
type(CSF_Info_t), intent(in) :: csf_i
integer(kind=n_int), intent(in) :: ilutJ(0:niftot)
integer, intent(in) :: nJ(nel)
type(ExcitationInformation_t), intent(in) :: excitInfo

Return Value real(kind=dp)


Contents


Source Code

    function calc_pgen_mol_guga_single(ilutI, nI, csf_i, ilutJ, nJ, excitInfo) result(pgen)
        integer(n_int), intent(in) :: ilutI(0:niftot), ilutJ(0:niftot)
        integer, intent(in) :: nI(nel), nJ(nel)
        type(CSF_Info_t), intent(in) :: csf_i
        type(ExcitationInformation_t), intent(in) :: excitInfo
        real(dp) :: pgen
        real(dp) :: p_orbs, p_guga
        ! write a pgen calculator for guga-excitations finally..
        ! but only for the molecular for now!

        ! i need the orbital picking part of pgen:
        p_orbs = calc_pgen_mol_guga_single_orbs(ilutI, nI, csf_i, excitInfo)

        p_guga = calc_pgen_mol_guga_single_guga(ilutI, nI, ilutJ, nJ, excitInfo)

        pgen = p_orbs * p_guga

    end function calc_pgen_mol_guga_single