gasci_pchb_main Module

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



Contents


Variables

Type Visibility Attributes Name Initial
type(GAS_PCHB_options_vals_t), public, parameter :: GAS_PCHB_options_vals = GAS_PCHB_options_vals_t()
type(GAS_PCHB_OptionsUserInput_vals_t), public, parameter :: GAS_PCHB_user_input_vals = GAS_PCHB_OptionsUserInput_vals_t()
type(GAS_PCHB_OptionsUserInput_t), public, allocatable :: GAS_PCHB_user_input

Derived Types

type, public ::  GAS_PCHB_options_t

Components

Type Visibility Attributes Name Initial
type(GAS_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 Subroutine
procedure , public , :: to_str Function

type, private ::  GAS_PCHB_options_vals_t

Components

Type Visibility Attributes Name Initial
type(GAS_PCHB_SinglesOptions_vals_t), public :: singles = GAS_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 ::  GAS_PCHB_OptionsUserInput_t

Components

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

type, private ::  GAS_PCHB_OptionsUserInput_vals_t

Components

Type Visibility Attributes Name Initial
type(PCHB_OptionSelection_vals_t), public :: option_selection = PCHB_OptionSelection_vals_t()
type(GAS_PCHB_options_vals_t), public :: options = GAS_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 Subroutine
procedure , public :: get_pgen => abinit_get_pgen Function
procedure , public :: gen_all_excits => abinit_gen_all_excits Subroutine
procedure , public :: finalize => abinit_finalize Subroutine
procedure , public :: init => GAS_PCHB_init Subroutine

Functions

public pure function decide_on_PCHB_options(GAS_PCHB_user_input, loc_nBasis, loc_nEl, loc_tUHF) result(res)

Arguments

Type IntentOptional Attributes Name
type(GAS_PCHB_OptionsUserInput_t), intent(in) :: GAS_PCHB_user_input
integer, intent(in) :: loc_nBasis
integer, intent(in) :: loc_nEl
logical, intent(in) :: loc_tUHF

Return Value type(GAS_PCHB_options_t)

private function to_str(options) result(res)

Arguments

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

Return Value character(len=:), allocatable


Subroutines

private subroutine GAS_PCHB_init(this, GAS_spec, options)

Initialize the PCHB excitation generator.

Arguments

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

The GAS specifications for the excitation generator.

class(GASSpec_t), intent(in) :: GAS_spec
type(GAS_PCHB_options_t), intent(in) :: options

private subroutine assert_validity(this)

Arguments

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