GugaAliasSampler_t Derived Type

type, public :: GugaAliasSampler_t


Contents

Source Code


Components

Type Visibility Attributes Name Initial
type(AliasSampler_1D_t), public :: alias_sampler
integer, private, allocatable :: tgtOrbs(:,:)
type(shared_array_int64_t), private :: all_info_table
type(shared_array_int64_t), private, allocatable :: info_tables(:)

Type-Bound Procedures

procedure, public :: init => init_GugaAliasSampler_t

procedure, public :: finalize => finalize_GugaAliasSampler_t

procedure, public :: pick_orbitals_double_pchb

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

    Arguments

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

procedure, public, nopass :: pick_orbitals_pure_uniform_singles

  • public subroutine pick_orbitals_pure_uniform_singles(ilut, nI, csf_i, excitInfo, pgen)

    Arguments

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

procedure, public :: calc_pgen_guga_pchb

  • private function calc_pgen_guga_pchb(this, ilutI, csf_i, ilutJ, excitInfo_in) result(pgen)

    Arguments

    Type IntentOptional Attributes Name
    class(GugaAliasSampler_t), intent(in) :: this
    integer(kind=n_int), intent(in) :: ilutI(0:GugaBits%len_tot)
    type(CSF_Info_t), intent(in) :: csf_i
    integer(kind=n_int), intent(in) :: ilutJ(GugaBits%len_tot)
    type(ExcitationInformation_t), intent(in), optional :: excitInfo_in

    Return Value real(kind=dp)

procedure, public :: calc_orbital_pgen_contr_pchb

  • private pure subroutine calc_orbital_pgen_contr_pchb(this, csf_i, occ_orbs, cpt_a, cpt_b)

    Arguments

    Type IntentOptional Attributes Name
    class(GugaAliasSampler_t), intent(in) :: this
    type(CSF_Info_t), intent(in) :: csf_i
    integer, intent(in) :: occ_orbs(2)
    real(kind=dp), intent(out) :: cpt_a
    real(kind=dp), intent(out) :: cpt_b

procedure, public :: calc_orbital_pgen_contr_start_pchb

  • private pure subroutine calc_orbital_pgen_contr_start_pchb(this, csf_i, occ_orbs, a, orb_pgen)

    Arguments

    Type IntentOptional Attributes Name
    class(GugaAliasSampler_t), intent(in) :: this
    type(CSF_Info_t), intent(in) :: csf_i
    integer, intent(in) :: occ_orbs(2)
    integer, intent(in) :: a
    real(kind=dp), intent(out) :: orb_pgen

procedure, public :: calc_orbital_pgen_contr_end_pchb

  • private pure subroutine calc_orbital_pgen_contr_end_pchb(this, csf_i, occ_orbs, a, orb_pgen)

    Arguments

    Type IntentOptional Attributes Name
    class(GugaAliasSampler_t), intent(in) :: this
    type(CSF_Info_t), intent(in) :: csf_i
    integer, intent(in) :: occ_orbs(2)
    integer, intent(in) :: a
    real(kind=dp), intent(out) :: orb_pgen

procedure, private, :: new_info_table

  • private subroutine new_info_table(this, nEntries, entrySize)

    Arguments

    Type IntentOptional Attributes Name
    class(GugaAliasSampler_t) :: this
    integer(kind=int64), intent(in) :: nEntries
    integer(kind=int64), intent(in) :: entrySize

procedure, private, :: set_info_entry

  • private subroutine set_info_entry(this, iEntry, infos)

    Arguments

    Type IntentOptional Attributes Name
    class(GugaAliasSampler_t) :: this
    integer, intent(in) :: iEntry
    integer(kind=int64), intent(in) :: infos(:)

procedure, private, :: get_info_entry

  • private function get_info_entry(this, iEntry, tgt) result(info)

    Arguments

    Type IntentOptional Attributes Name
    class(GugaAliasSampler_t) :: this
    integer, intent(in) :: iEntry
    integer, intent(in) :: tgt

    Return Value integer(kind=int64)

procedure, private, :: calc_orb_pgen_guga_pchb_double

procedure, private, :: setup_pchb_sampler_conditional

Source Code

    type :: GugaAliasSampler_t
        private

        type(AliasSampler_1D_t), public :: alias_sampler
        integer, allocatable :: tgtOrbs(:,:)

        type(shared_array_int64_t) :: all_info_table
        type(shared_array_int64_t), allocatable :: info_tables(:)
    contains
        private
        procedure, public :: init => init_GugaAliasSampler_t
        procedure, public :: finalize => finalize_GugaAliasSampler_t

        procedure, public :: pick_orbitals_double_pchb
        procedure, public, nopass :: pick_orbitals_pure_uniform_singles
        procedure, public :: calc_pgen_guga_pchb

        procedure, public :: calc_orbital_pgen_contr_pchb
        procedure, public :: calc_orbital_pgen_contr_start_pchb
        procedure, public :: calc_orbital_pgen_contr_end_pchb

        procedure :: new_info_table
        procedure :: set_info_entry
        procedure :: get_info_entry

        procedure :: calc_orb_pgen_guga_pchb_double

        procedure :: setup_pchb_sampler_conditional

    end type GugaAliasSampler_t