guga_prop_vec_pchb_main Module

Precomputed Heat Bath Implementation for PropVecCI. This modules implements the excitation generator PropVecCI PCHB either resolve in spin- or spatial- orbitals.



Variables

Type Visibility Attributes Name Initial
type(PropVec_PCHB_options_vals_t), public, parameter :: options_vals = PropVec_PCHB_options_vals_t()
type(PropVec_PCHB_OptionsUserInput_vals_t), public, parameter :: PropVec_PCHB_user_input_vals = PropVec_PCHB_OptionsUserInput_vals_t()
type(PropVec_PCHB_OptionsUserInput_t), public, allocatable :: PropVec_PCHB_user_input

Derived Types

type, public, extends(AbInitGUGABase_t) ::  PropVec_PCHB_ExcGenerator_t

Components

Type Visibility Attributes Name Initial
class(SinglesGUGABase_t), public, allocatable :: singles_generator
class(DoublesGUGABase_t), public, allocatable :: doubles_generator

Type-Bound Procedures

procedure, public :: pickOrbitals_single => AbInitGUGABase_t_pickOrbitals_single
procedure, public :: pickOrbitals_double => AbInitGUGABase_t_pickOrbitals_double
procedure, public :: calc_orbital_pgen_contr_start => AbInitGUGABase_t_calc_orbital_pgen_contr_start
procedure, public :: calc_orbital_pgen_contr_end => AbInitGUGABase_t_calc_orbital_pgen_contr_end
procedure, public :: calc_orbital_pgen_contr => AbInitGUGABase_t_calc_orbital_pgen_contr
procedure, public :: calc_pgen => AbInitGUGABase_t_calc_pgen
procedure, public :: init
procedure, public :: finalize

type, public ::  PropVec_PCHB_options_t

Components

Type Visibility Attributes Name Initial
type(PropVec_PCHB_SinglesOptions_t), public :: singles
type(PCHB_DoublesOptions_t), public :: doubles
logical, public :: use_lookup

Type-Bound Procedures

procedure, public :: assert_validity
procedure, public :: to_str

type, public ::  PropVec_PCHB_options_vals_t

Components

Type Visibility Attributes Name Initial
type(PropVec_PCHB_SinglesOptions_vals_t), public :: singles = PropVec_PCHB_SinglesOptions_vals_t()
type(PCHB_DoublesOptions_vals_t), public :: doubles = PCHB_DoublesOptions_vals_t()

type, private, extends(EnumBase_t) ::  PCHB_OptionSelection_t

Components

Type Visibility Attributes Name Initial
integer, public :: val

Type-Bound Procedures

generic, public :: operator(==) => eq_EnumBase_t
generic, public :: operator(/=) => neq_EnumBase_t

type, private ::  PCHB_OptionSelection_vals_t

Components

Type Visibility Attributes Name Initial
type(PCHB_OptionSelection_t), public :: LOCALISED = PCHB_OptionSelection_t(1)
type(PCHB_OptionSelection_t), public :: DELOCALISED = PCHB_OptionSelection_t(2)
type(PCHB_OptionSelection_t), public :: MANUAL = PCHB_OptionSelection_t(3)

type, public ::  PropVec_PCHB_OptionsUserInput_t

Components

Type Visibility Attributes Name Initial
type(PCHB_OptionSelection_t), public :: option_selection
type(PropVec_PCHB_options_t), public, allocatable :: options

Components

Type Visibility Attributes Name Initial
type(PCHB_OptionSelection_vals_t), public :: option_selection = PCHB_OptionSelection_vals_t()
type(PropVec_PCHB_options_vals_t), public :: options = PropVec_PCHB_options_vals_t()

Functions

public function from_tokens(tokens, use_lookup) result(res)

Arguments

Type IntentOptional Attributes Name
type(TokenIterator_t), intent(inout) :: tokens
logical, intent(in) :: use_lookup

Return Value type(PropVec_PCHB_OptionsUserInput_t)

public pure function decide_on_PCHB_options(PropVec_PCHB_user_input, loc_nBasis, loc_nEl) result(res)

Arguments

Type IntentOptional Attributes Name
type(PropVec_PCHB_OptionsUserInput_t), intent(in) :: PropVec_PCHB_user_input
integer, intent(in) :: loc_nBasis
integer, intent(in) :: loc_nEl

Return Value type(PropVec_PCHB_options_t)

private function to_str(options) result(res)

Arguments

Type IntentOptional Attributes Name
class(PropVec_PCHB_options_t), intent(in) :: options

Return Value character(len=:), allocatable


Subroutines

private subroutine init(this, indexer, options)

Initialize the PCHB excitation generator.

Arguments

Type IntentOptional Attributes Name
class(PropVec_PCHB_ExcGenerator_t), intent(inout) :: this
class(AlsoGUGA_PropertyIndexer_t), intent(in) :: indexer

The PropVec specifications for the excitation generator.

type(PropVec_PCHB_options_t), intent(in) :: options

private subroutine finalize(this)

Arguments

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

private subroutine assert_validity(this)

Arguments

Type IntentOptional Attributes Name
class(PropVec_PCHB_options_t), intent(in) :: this