guga_pchb_class Module



Contents


Derived Types

type, public ::  GugaAliasSampler_t

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 Subroutine
procedure , public :: finalize => finalize_GugaAliasSampler_t Subroutine
procedure , public :: pick_orbitals_double_pchb Subroutine
procedure , public , nopass :: pick_orbitals_pure_uniform_singles Subroutine
procedure , public :: calc_pgen_guga_pchb Function
procedure , public :: calc_orbital_pgen_contr_pchb Subroutine
procedure , public :: calc_orbital_pgen_contr_start_pchb Subroutine
procedure , public :: calc_orbital_pgen_contr_end_pchb Subroutine
procedure , private , :: new_info_table Subroutine
procedure , private , :: set_info_entry Subroutine
procedure , private , :: get_info_entry Function
procedure , private , :: calc_orb_pgen_guga_pchb_double Function
procedure , private , :: setup_pchb_sampler_conditional Subroutine

Functions

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)

public function calc_orb_pgen_uniform_singles(csf_i, excitInfo) result(pgen)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo

Return Value real(kind=dp)

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)

private pure function calc_orb_pgen_guga_pchb_double(this, excitInfo) result(pgen)

Arguments

Type IntentOptional Attributes Name
class(GugaAliasSampler_t), intent(in) :: this
type(ExcitationInformation_t), intent(in) :: excitInfo

Return Value real(kind=dp)

private function get_pchb_integral_contrib(i, j, a, b, typ) result(integral)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: a
integer, intent(in) :: b
integer, intent(in) :: typ

Return Value real(kind=dp)


Subroutines

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

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(:)

private subroutine init_GugaAliasSampler_t(this)

Arguments

Type IntentOptional Attributes Name
class(GugaAliasSampler_t), intent(inout) :: this

private subroutine setup_pchb_sampler_conditional(this)

Arguments

Type IntentOptional Attributes Name
class(GugaAliasSampler_t), intent(inout) :: this

private subroutine finalize_GugaAliasSampler_t(this)

Arguments

Type IntentOptional Attributes Name
class(GugaAliasSampler_t), intent(inout) :: this

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

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

public subroutine pick_uniform_spatial_hole(csf_i, src_orb, tgt_orb, pgen)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: src_orb
integer, intent(out) :: tgt_orb
real(kind=dp), intent(out) :: pgen

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

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

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

private subroutine get_weight_and_info(i, j, a, b, w, info)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: a
integer, intent(in) :: b
real(kind=dp), intent(out) :: w
integer(kind=int64), intent(out) :: info