gasci_discarding Module



Contents


Derived Types

type, public, extends(ExcitationGenerator_t) ::  GAS_DiscardingGenerator_t

Components

Type Visibility Attributes Name Initial
type(PCHB_FCI_excit_generator_t), private :: FCI_generator
class(GASSpec_t), private, allocatable :: GAS_spec

Type-Bound Procedures

procedure , public :: init Subroutine
procedure , public :: finalize Subroutine
procedure , public :: gen_exc Subroutine
procedure , public :: get_pgen Function
procedure , public :: gen_all_excits Subroutine

Functions

private function get_pgen(this, nI, ilutI, ex, ic, ClassCount2, ClassCountUnocc2) result(pgen)

Arguments

Type IntentOptional Attributes Name
class(GAS_DiscardingGenerator_t), intent(inout) :: this
integer, intent(in) :: nI(nel)
integer(kind=n_int), intent(in) :: ilutI(0:NIfTot)
integer, intent(in) :: ex(2,maxExcit)
integer, intent(in) :: ic
integer, intent(in) :: ClassCount2(ScratchSize)
integer, intent(in) :: ClassCountUnocc2(ScratchSize)

Return Value real(kind=dp)


Subroutines

private subroutine gen_exc(this, nI, ilutI, nJ, ilutJ, exFlag, ic, ex, tParity, pGen, hel, store, part_type)

This GAS excitation generator just uses a FCI excitation generator and discards excitations which are not in the GAS space.

Arguments

Type IntentOptional Attributes Name
class(GAS_DiscardingGenerator_t), intent(inout) :: this
integer, intent(in) :: nI(nel)
integer(kind=n_int), intent(in) :: ilutI(0:NIfTot)
integer, intent(out) :: nJ(nel)
integer(kind=n_int), intent(out) :: ilutJ(0:NifTot)
integer, intent(in) :: exFlag
integer, intent(out) :: ic
integer, intent(out) :: ex(2,maxExcit)
logical, intent(out) :: tParity
real(kind=dp), intent(out) :: pGen
real(kind=dp), intent(out) :: hel
type(excit_gen_store_type), intent(inout), target :: store
integer, intent(in), optional :: part_type

private subroutine init(this, GAS_spec)

Arguments

Type IntentOptional Attributes Name
class(GAS_DiscardingGenerator_t), intent(inout) :: this
class(GASSpec_t), intent(in) :: GAS_spec

private subroutine finalize(this)

Arguments

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

private subroutine gen_all_excits(this, nI, n_excits, det_list)

Arguments

Type IntentOptional Attributes Name
class(GAS_DiscardingGenerator_t), intent(in) :: this
integer, intent(in) :: nI(nEl)
integer, intent(out) :: n_excits
integer(kind=n_int), intent(out), allocatable :: det_list(:,:)