gasci_pchb_doubles_main Module



Contents


Variables

Type Visibility Attributes Name Initial
type(PCHB_DoublesOptions_vals_t), public, parameter :: doubles_options_vals = PCHB_DoublesOptions_vals_t()

Derived Types

type, public, extends(EnumBase_t) ::  PCHB_HoleSelection_t

Components

Type Visibility Attributes Name Initial
integer, public :: val
character(len=9), private :: str

Type-Bound Procedures

generic, public :: operator(==) => eq_EnumBase_t
generic, public :: operator(/=) => neq_EnumBase_t
procedure , public , :: to_str => to_str_PCHB_HoleSelection_t Function

type, private ::  PCHB_HoleSelection_vals_t

Components

Type Visibility Attributes Name Initial
type(PCHB_HoleSelection_t), public :: FAST_FAST = PCHB_HoleSelection_t(1, 'FAST-FAST')
type(PCHB_HoleSelection_t), public :: FULL_FULL = PCHB_HoleSelection_t(2, 'FULL-FULL')

Type-Bound Procedures

procedure , public , nopass :: from_str => select_holes_from_keyword Function

type, public ::  PCHB_DoublesOptions_t

Components

Type Visibility Attributes Name Initial
type(PCHB_ParticleSelection_t), public :: particle_selection
type(PCHB_HoleSelection_t), public :: hole_selection
logical, public, allocatable :: spin_orb_resolved

It is allocatable, because we want to distinguish between “not yet a value” and the actual value.

Type-Bound Procedures

procedure , public , :: to_str => to_str_PCHB_DoublesOptions_t Function

type, public ::  PCHB_DoublesOptions_vals_t

Components

Type Visibility Attributes Name Initial
type(PCHB_ParticleSelection_vals_t), public :: particle_selection = PCHB_ParticleSelection_vals_t()
type(PCHB_HoleSelection_vals_t), public :: hole_selection = PCHB_HoleSelection_vals_t()

Type-Bound Procedures

procedure , public , nopass :: from_str => select_doubles_option_from_keyword Function

Functions

private pure function select_holes_from_keyword(w) result(res)

Parse a given keyword into the possible weighting schemes

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: w

Return Value type(PCHB_HoleSelection_t)

private pure function to_str_PCHB_HoleSelection_t(options) result(res)

Arguments

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

Return Value character(len=9)

private pure function select_doubles_option_from_keyword(w) result(res)

Parse a given keyword into the possible weighting schemes

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: w

Return Value type(PCHB_DoublesOptions_t)

private pure function to_str_PCHB_DoublesOptions_t(options) result(res)

Arguments

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

Return Value character(len=19)


Subroutines

public subroutine allocate_and_init(GAS_spec, options, use_lookup, generator)

Arguments

Type IntentOptional Attributes Name
class(GASSpec_t), intent(in) :: GAS_spec
type(PCHB_DoublesOptions_t), intent(in) :: options
logical, intent(in) :: use_lookup

Use the supergroup lookup

class(DoubleExcitationGenerator_t), intent(inout), allocatable :: generator