SymExcit4 Module



Contents


Variables

Type Visibility Attributes Name Initial
type(ExcitGenSessionType), public :: storedSession

Interfaces

public interface GenExcitations4

  • public subroutine GenExcitations4_non_initd(session, nI, nJ, tParity, tAllExcitFound, ti_lt_a_only)

    Arguments

    Type IntentOptional Attributes Name
    type(ExcitGenSessionType), intent(inout) :: session
    integer, intent(in) :: nI(nEl)
    integer, intent(out) :: nJ(nEl)
    logical, intent(out) :: tParity
    logical, intent(out) :: tAllExcitFound
    logical, intent(in) :: ti_lt_a_only
  • public subroutine GenExcitations4_initd(session, nJ, tParity, tAllExcitFound, ti_lt_a_only)

    Arguments

    Type IntentOptional Attributes Name
    type(ExcitGenSessionType), intent(inout) :: session
    integer, intent(out) :: nJ(nEl)
    logical, intent(out) :: tParity
    logical, intent(out) :: tAllExcitFound
    logical, intent(in) :: ti_lt_a_only
  • public subroutine GenExcitations4_compat_non_initd(session, nI, nJ, exFlag, excitMat, tParity, tAllExcitFound, ti_lt_a_only)

    Arguments

    Type IntentOptional Attributes Name
    type(ExcitGenSessionType), intent(inout) :: session
    integer, intent(in) :: nI(nEl)
    integer, intent(out) :: nJ(nEl)
    integer, intent(out) :: exFlag
    integer, intent(out) :: excitMat(2,2)
    logical, intent(out) :: tParity
    logical, intent(out) :: tAllExcitFound
    logical, intent(in) :: ti_lt_a_only

Derived Types

type, public ::  ExcitGenSessionType

Components

Type Visibility Attributes Name Initial
integer, public :: minRank
integer, public :: maxRank
integer, public :: rank
integer, public :: minSpinDiff
integer, public :: maxSpinDiff
integer, public, allocatable :: nI(:)
integer, public, allocatable :: holes(:)
integer, public, allocatable :: elecIndices(:)
integer, public, allocatable :: holeIndices(:)
integer, public, allocatable :: elecSpinOrbs(:)
integer, public, allocatable :: holeSpinOrbs(:)
integer, public :: spinDiff
integer, public :: elecTotMl
integer, public :: holeTotMl
integer, public :: elecSymLabel
integer, public :: holeSymLabel
type(BasisFN), public :: nISym
logical, public :: tInitialised = .false.

Functions

public function InitExcitGenSession(nI, minRank, maxRank, minSpinDiff, maxSpinDiff) result(session)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nEl)
integer, intent(in) :: minRank
integer, intent(in) :: maxRank
integer, intent(in) :: minSpinDiff
integer, intent(in) :: maxSpinDiff

Return Value type(ExcitGenSessionType)

public function GetPosIdentifier(vec, rank, limit) result(posId)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: vec(:)
integer, intent(in) :: rank
integer, intent(in) :: limit

Return Value integer

public function GetElecPosIdentifier(session) result(posId)

Arguments

Type IntentOptional Attributes Name
type(ExcitGenSessionType), intent(in) :: session

Return Value integer

public function GetHolePosIdentifier(session) result(posId)

Arguments

Type IntentOptional Attributes Name
type(ExcitGenSessionType), intent(in) :: session

Return Value integer


Subroutines

public subroutine ResetIndices(vec, maxIdx)

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: vec(:)
integer, intent(in) :: maxIdx

public subroutine NewParentDet(session)

Arguments

Type IntentOptional Attributes Name
type(ExcitGenSessionType), intent(inout) :: session

public subroutine InitExcitVecs(session)

Arguments

Type IntentOptional Attributes Name
type(ExcitGenSessionType), intent(inout) :: session

public subroutine DestructExcitVecs(session)

Arguments

Type IntentOptional Attributes Name
type(ExcitGenSessionType), intent(inout) :: session

public subroutine DestructSession(session)

Arguments

Type IntentOptional Attributes Name
type(ExcitGenSessionType), intent(inout) :: session

public subroutine IncrementIndex(vec, rank, limit, tReachedLimit)

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: vec(:)
integer, intent(in) :: rank
integer, intent(in) :: limit
logical, intent(inout) :: tReachedLimit

public subroutine GoToNextRank(session, tReachedLimit)

Arguments

Type IntentOptional Attributes Name
type(ExcitGenSessionType), intent(inout) :: session
logical, intent(out) :: tReachedLimit

public subroutine GoToNextElecIndices(session, tReachedLimit)

Arguments

Type IntentOptional Attributes Name
type(ExcitGenSessionType), intent(inout) :: session
logical, intent(out) :: tReachedLimit

public subroutine GoToNextHoleIndices(session, tReachedLimit)

Arguments

Type IntentOptional Attributes Name
type(ExcitGenSessionType), intent(inout) :: session
logical, intent(out) :: tReachedLimit

public subroutine SetSpinOrbs(session)

Arguments

Type IntentOptional Attributes Name
type(ExcitGenSessionType), intent(inout) :: session

public subroutine FindNewDet(session, nJ, tParity)

Arguments

Type IntentOptional Attributes Name
type(ExcitGenSessionType), intent(in) :: session
integer, intent(out) :: nJ(nEl)
logical, intent(out) :: tParity

public subroutine GenExcitations4_non_initd(session, nI, nJ, tParity, tAllExcitFound, ti_lt_a_only)

Arguments

Type IntentOptional Attributes Name
type(ExcitGenSessionType), intent(inout) :: session
integer, intent(in) :: nI(nEl)
integer, intent(out) :: nJ(nEl)
logical, intent(out) :: tParity
logical, intent(out) :: tAllExcitFound
logical, intent(in) :: ti_lt_a_only

public subroutine GenExcitations4_initd(session, nJ, tParity, tAllExcitFound, ti_lt_a_only)

Arguments

Type IntentOptional Attributes Name
type(ExcitGenSessionType), intent(inout) :: session
integer, intent(out) :: nJ(nEl)
logical, intent(out) :: tParity
logical, intent(out) :: tAllExcitFound
logical, intent(in) :: ti_lt_a_only

public subroutine GenExcitations4_compat_non_initd(session, nI, nJ, exFlag, excitMat, tParity, tAllExcitFound, ti_lt_a_only)

Arguments

Type IntentOptional Attributes Name
type(ExcitGenSessionType), intent(inout) :: session
integer, intent(in) :: nI(nEl)
integer, intent(out) :: nJ(nEl)
integer, intent(out) :: exFlag
integer, intent(out) :: excitMat(2,2)
logical, intent(out) :: tParity
logical, intent(out) :: tAllExcitFound
logical, intent(in) :: ti_lt_a_only

public subroutine CountExcitations4(nI, minRank, maxRank, minSpinDiff, maxSpinDiff, tot)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nEl)
integer, intent(in) :: minRank
integer, intent(in) :: maxRank
integer, intent(in) :: minSpinDiff
integer, intent(in) :: maxSpinDiff
integer, intent(out) :: tot