property_vector_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 :: PropVec_PCHB_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 ::  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 = .false.

Use and/or create/manage the supergroup lookup.

Type-Bound Procedures

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

type, private ::  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, public, 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, public ::  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()

Components

Type Visibility Attributes Name Initial
class(DoubleExcitationGenerator_t), public, allocatable :: doubles_generator
class(SingleExcitationGenerator_t), public, allocatable :: singles_generator

Type-Bound Procedures

procedure, public :: gen_exc => abinit_gen_exc
procedure, public :: get_pgen => abinit_get_pgen
procedure, public :: gen_all_excits => abinit_gen_all_excits
procedure, public :: finalize => abinit_finalize
procedure, public :: init => PropVec_PCHB_init

Functions

public pure function decide_on_PCHB_options(PropVec_PCHB_user_input, loc_nBasis, loc_nEl, loc_tUHF) 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
logical, intent(in) :: loc_tUHF

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 PropVec_PCHB_init(this, indexer, options)

Initialize the PCHB excitation generator.

Arguments

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

The PropVec specifications for the excitation generator.

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

private subroutine assert_validity(this)

Arguments

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