SymGenExcitIt_SetupDouble Subroutine

subroutine SymGenExcitIt_SetupDouble(iSpn, iFrom, iTo, iExcit, ExcitTypes, SymProdInd, I, K, L, tDebugPrint)

Arguments

Type IntentOptional Attributes Name
integer :: iSpn
integer :: iFrom
integer :: iTo
integer :: iExcit
integer :: ExcitTypes(5,*)
integer :: SymProdInd(2,3,1:*)
integer :: I
integer :: K
integer :: L
logical :: tDebugPrint

Contents


Source Code

Subroutine SymGenExcitIt_SetupDouble(iSpn, iFrom, iTo, iExcit, ExcitTypes, SymProdInd, I, K, L, tDebugPrint)
    use SystemData, only: TSTOREASEXCITATIONS
    use SystemData, only: Symmetry, SymmetrySize, SymmetrySizeB
    use SystemData, only: BasisFN, BasisFNSize, BasisFNSizeB
    use SymData, only: SymLabelCounts, SymStatePairs, SymClass
    use SymData, only: SymLabelList, SymPairProds
    use constants, only: stdout
    IMPLICIT NONE
    INTEGER ExcitTypes(5, *)

    INTEGER I, K, L
    INTEGER iExcit
    INTEGER iFrom, iTo, iSpn

    INTEGER SymProdInd(2, 3, 1:*)
    LOGICAL tDebugPrint

!.. a double
    ISPN = EXCITTYPES(2, IEXCIT)
    IFROM = EXCITTYPES(3, IEXCIT)
    ITO = EXCITTYPES(4, IEXCIT)
    I = 0
    L = 5 !An invalid spin
    K = -2 !When we +1 this is still invalid so it resets the pair index
    IF (tDebugPrint) WRITE(stdout, *) "EXC", IEXCIT, ISPN, IFROM, ITO, SYMPRODIND(2, ISPN, IFROM)
End Subroutine SymGenExcitIt_SetupDouble