PropVec_PCHB_FastFast_t Derived Type

type, public, extends(PropVec_PCHB_Doubles_t) :: PropVec_PCHB_FastFast_t


Components

Type Visibility Attributes Name Initial
logical, public :: use_lookup = .false.

Use a lookup for the prop_vec index in global_det_data

logical, public :: create_lookup = .false.

Create and manage! the prop_vec index lookup in global_det_data.

type(AliasSampler_2D_t), private :: alias_sampler

The shape is (fused_number_of_double_excitations, n_prop_vec)

integer, private, allocatable :: tgtOrbs(:,:)

Type-Bound Procedures

procedure, public :: init => init_PropVec_PCHB_Doubles_t

procedure, public :: finalize => finalize_GugaAliasSampler_t

procedure, public :: gen_all_distinct

  • private pure function gen_all_distinct(this, csf_i, sort_fused_key) result(res)

    This function returns all possible excitations for the orbital picker

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(PropVec_PCHB_Doubles_t), intent(in) :: this
    type(CSF_Info_t), intent(in) :: csf_i
    logical, intent(in), optional :: sort_fused_key

    The fused index of the excitations should be sorted.

    Return Value type(DistinctDouble_t), allocatable, (:)

procedure, public :: calc_pgen => calc_pgen_Base

  • private function calc_pgen_Base(this, nI, ilutI, csf_i, excitInfo) result(pgen)

    Arguments

    Type IntentOptional Attributes Name
    class(PropVec_PCHB_Doubles_t), intent(in) :: this
    integer, intent(in) :: nI(nel)
    integer(kind=n_int), intent(in) :: ilutI(0:GugaBits%len_tot)
    type(CSF_Info_t), intent(in) :: csf_i
    type(ExcitationInformation_t), intent(in) :: excitInfo

    Return Value real(kind=dp)

procedure, public :: calc_orbital_pgen_contr => calc_orbital_pgen_contr_Base

  • private subroutine calc_orbital_pgen_contr_Base(this, nI, ilut, csf_i, occ_orbs, above_cpt, below_cpt)

    Arguments

    Type IntentOptional Attributes Name
    class(PropVec_PCHB_Doubles_t), intent(in) :: this
    integer, intent(in) :: nI(nEl)
    integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_tot)
    type(CSF_Info_t), intent(in) :: csf_i
    integer, intent(in) :: occ_orbs(2)
    real(kind=dp), intent(out) :: above_cpt
    real(kind=dp), intent(out) :: below_cpt

procedure, public :: calc_orbital_pgen_contr_start => calc_orbital_pgen_contr_start_Base

  • private subroutine calc_orbital_pgen_contr_start_Base(this, nI, ilut, csf_i, occ_orbs, orb_a, orb_pgen)

    Arguments

    Type IntentOptional Attributes Name
    class(PropVec_PCHB_Doubles_t), intent(in) :: this
    integer, intent(in) :: nI(nEl)
    integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_tot)
    type(CSF_Info_t), intent(in) :: csf_i
    integer, intent(in) :: occ_orbs(2)
    integer, intent(in) :: orb_a
    real(kind=dp), intent(out) :: orb_pgen

procedure, public :: calc_orbital_pgen_contr_end => calc_orbital_pgen_contr_end_Base

  • private subroutine calc_orbital_pgen_contr_end_Base(this, nI, ilut, csf_i, occ_orbs, orb_a, orb_pgen)

    Arguments

    Type IntentOptional Attributes Name
    class(PropVec_PCHB_Doubles_t), intent(in) :: this
    integer, intent(in) :: nI(nEl)
    integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_tot)
    type(CSF_Info_t), intent(in) :: csf_i
    integer, intent(in) :: occ_orbs(2)
    integer, intent(in) :: orb_a
    real(kind=dp), intent(out) :: orb_pgen

procedure, public :: pickOrbitals => pickOrbitals_FastFast

  • private subroutine pickOrbitals_FastFast(this, nI, ilut, csf_i, excitInfo, pgen)

    Arguments

    Type IntentOptional Attributes Name
    class(PropVec_PCHB_FastFast_t), intent(in) :: this
    integer, intent(in) :: nI(nel)
    integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_tot)
    type(CSF_Info_t), intent(in) :: csf_i
    type(ExcitationInformation_t), intent(out) :: excitInfo
    real(kind=dp), intent(out) :: pgen

procedure, private :: calc_hole_pgen => calc_hole_pgen_FastFast

  • private function calc_hole_pgen_FastFast(this, nI, ilutI, csf_i, ij, i_sg, a, b) result(pgen)

    Arguments

    Type IntentOptional Attributes Name
    class(PropVec_PCHB_FastFast_t), intent(in) :: this
    integer, intent(in) :: nI(nEl)
    integer(kind=n_int), intent(in) :: ilutI(0:GugaBits%len_tot)
    type(CSF_Info_t), intent(in) :: csf_i
    integer, intent(in) :: ij
    integer, intent(in) :: i_sg
    integer, intent(in) :: a
    integer, intent(in) :: b

    Return Value real(kind=dp)

procedure, private :: setup_pchb_sampler_conditional => setup_pchb_sampler_conditional_FastFast

procedure, private :: finalize_pchb_sampler => finalize_pchb_sampler_FastFast

procedure, public :: get_memory_demand => get_memory_demand_FastFast