PropVec_Weighted_t Derived Type

type, private, abstract, extends(SinglesGUGABase_t) :: PropVec_Weighted_t

The precomputed PropVec uniform excitation generator


Components

Type Visibility Attributes Name Initial
class(AlsoGUGA_PropertyIndexer_t), private, allocatable :: indexer
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_1D_t), private :: I_sampler

The shape is (n_prop_vec) -> 2 * nSpatOrbs

Note

To make doubly occupied orbitals more probable we have doubly the amount of spatial orbitals and treat it as if there were spin-orbitals.

type(AliasSampler_2D_t), private :: A_sampler

The shape is (nSpatOrbs, n_prop_vec) -> 2 * nSpatOrbs

Note

To make empty orbitals more probable than singly occpied ones, we have doubly the amount of spatial orbitals and treat it as if there were spin-orbitals.

procedure(get_weight_t), private, pointer, nopass :: get_weight => null()
type(UnoccupiedGetter_t), private :: unoccupied

Type-Bound Procedures

procedure(SinglesPickOrbitals_t), public, deferred :: pickOrbitals

  • subroutine SinglesPickOrbitals_t(this, nI, ilut, csf_i, excitInfo, pgen) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(SinglesGUGABase_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(SinglesCalcPgen_t), public, deferred :: calc_pgen

  • function SinglesCalcPgen_t(this, nI, ilutI, csf_i, excitInfo) result(pgen) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(SinglesGUGABase_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 :: init => init_PropVec_Weighted_t

procedure, public :: finalize => finalize_PropVec_Weighted_t