SystemData Module



Variables

Type Visibility Attributes Name Initial
integer, public :: symmax
logical, public :: called_as_lib
logical, public :: tMolpro
logical, public :: tMolproMimic
character(len=12), public :: MolproID
logical, public :: tNoSingExcits
logical, public :: t_mol_3_body
logical, public :: t_exclude_3_body_excits = .false.
logical, public :: t_exclude_pure_parallel = .false.
logical, public :: t_ueg_transcorr
logical, public :: t_ueg_dump
logical, public :: t_ueg_3_body
logical, public :: tSmallBasisForThreeBody = .true.
logical, public :: tStarBin
logical, public :: tReadInt
logical, public :: tHFOrder
logical, public :: tDFRead
logical, public :: tPBC
logical, public :: tUEG
logical, public :: tUEG2
logical, public :: tCPMD
logical, public :: tHUB
logical, public :: tHeisenberg
logical, public :: tHPHF
logical, public :: tHPHFInts
logical, public :: tUHF
logical, public :: tSPN
logical, public :: tParity
logical, public :: tUseBrillouin
logical, public :: tExch
logical, public :: tReal
logical, public :: tZeroDelimitedFCIDUMP = .false.
logical, public :: tTilt
logical, public :: tOneElIntMax
logical, public :: tOnePartOrbEnMax
logical, public :: tROHF
logical, public :: tBrillouinsDefault
logical, public :: tNoBrillouin
logical, public :: tVirtCoulombMax
logical, public :: tVirtExchangeMin
logical, public :: tHijSqrdMin
logical, public :: tDiagonalizehij
logical, public :: tHFSingDoubExcMax
logical, public :: tSpinOrbs
logical, public :: tReadInCoeff
logical, public :: tUseMP2VarDenMat
logical, public :: tAlpha
logical, public :: tStoreAsExcitations
logical, public :: tBin
logical, public :: tVASP
logical, public :: tOffDiagSqrdMin
logical, public :: tOffDiagSqrdMax
logical, public :: tOffDiagmax
logical, public :: tShakeDelay
logical, public :: tSeparateOccVirt
logical, public :: tExactSizeSpace
logical, public :: tRotatedOrbs
logical, public :: tImportanceSample
logical, public :: tERLocalization
logical, public :: tOffDiagMin
logical, public :: tFindCINatOrbs
logical, public :: tNoRenormRandExcits
logical, public :: tAssumeSizeExcitgen
logical, public :: tCycleOrbs
logical, public :: tROIteration
logical, public :: tShakeIter
logical, public :: tRotateOccOnly
logical, public :: tDoubExcMin
logical, public :: tUseHFOrbs
logical, public :: tRotateOrbs
logical, public :: tNonUniRandExcits
logical, public :: tNoSymGenRandExcits
logical, public :: tLagrange
logical, public :: tShakeApprox
logical, public :: tShake
logical, public :: tRotateVirtOnly
logical, public :: tMaxHLGap
logical, public :: tKPntSym
logical, public :: tRotatedOrbsReal
logical, public :: tReadFreeFormat
logical, public :: tReltvy
logical, public :: tIgnoreFCIDUMPHeader = .false.
logical, public :: tRIIntegrals
logical, public :: tStoreSpinOrbs
logical, public :: tPickVirtUniform
logical, public :: tISKFuncs
logical, public :: tOddS_HPHF
logical, public :: tAntisym_MI
logical, public :: tComplexOrbs_RealInts
logical, public :: t_complex_ints = .true.
logical, public :: tComplexWalkers_RealInts
integer, public :: iParity(5)
integer, public :: nMaxX
integer, public :: nMaxY
integer, public :: nMaxZ
integer, public :: nMSH
integer, public :: coulDampOrb
integer, public :: elecPairs
integer, public :: roIterMax
integer, public :: iRanLuxLev
integer, public :: DiagMaxMinFac
integer, public :: OneElmaxMinFac
integer, public :: iState
integer, public :: iTiltX
integer, public :: iTiltY
integer, public :: nOccAlpha
integer, public :: nOccBeta
integer, public :: ShakeIterMax
integer, public :: ShakeStart
integer, public, parameter :: nIrreps = 8
integer, public :: nClosedOrbs(nIrreps)
integer, public :: nOccOrbs(nIrreps)
integer, public :: irrepOrbOffset(nIrreps)
integer, public :: MaxMinFac
integer, public :: MaxABPairs
real(kind=dp), public :: BOX
real(kind=dp), public :: BOA
real(kind=dp), public :: COA
real(kind=dp), public :: fUEGRs
real(kind=dp), public :: fRc
real(kind=dp), public :: OrbECutoff
real(kind=dp), public :: UHUB
real(kind=dp), public :: BHUB
real(kind=dp), public :: btHub
real(kind=dp), public :: Diagweight
real(kind=dp), public :: OffDiagWeight
real(kind=dp), public :: OrbEnMaxAlpha
real(kind=dp), public :: Alpha
real(kind=dp), public :: fCoulDampBeta
real(kind=dp), public :: fCoulDampMu
real(kind=dp), public :: TimeStep
real(kind=dp), public :: ConvergedForce
real(kind=dp), public :: ShakeConverged
real(kind=dp), public :: UMATEps
real(kind=dp), public :: OneElWeight
integer, public :: AA_elec_pairs
integer, public :: BB_elec_pairs
integer, public :: par_elec_pairs
integer, public :: AB_elec_pairs
integer, public :: AA_hole_pairs
integer, public :: BB_hole_pairs
integer, public :: par_hole_pairs
integer, public :: AB_hole_pairs
integer, public :: hole_pairs
integer, public :: nholes_a
integer, public :: nholes_b
integer, public :: nholes
integer, public :: nEl = NEL_UNINITIALIZED
integer, public :: Stot
integer, public :: LMS
logical, public :: tMCSizeSpace
logical, public :: tMCSizeTruncSpace
integer, public :: iMCCalcTruncLev
integer(kind=int64), public :: CalcDetPrint
integer(kind=int64), public :: CalcDetCycles
logical, public :: tUEGTrueEnergies
logical, public :: tLatticeGens
logical, public :: t_uniform_excits = .false.
logical, public :: t_mixed_excits = .false.
logical, public :: tNoFailAb
logical, public :: tUEGOffset
real(kind=dp), public :: k_offset(3)
logical, public :: tUEGSpecifyMomentum
integer, public :: k_momentum(3)
logical, public :: tOrbECutoff
logical, public :: tgCutoff
real(kind=dp), public :: gCutoff
logical, public :: tMP2UEGRestrict
integer, public :: kiRestrict(3)
integer, public :: kjRestrict(3)
integer, public :: kiMsRestrict
integer, public :: kjMsRestrict
logical, public :: tMadelung
real(kind=dp), public :: Madelung
logical, public :: tUEGFreeze
real(kind=dp), public :: FreezeCutoff
logical, public :: tRef_Not_HF
logical, public :: tTranscorr
logical, public :: tRPA_tc
logical, public :: tInfSumTCCalc
logical, public :: tInfSumTCPrint
logical, public :: tInfSumTCRead
integer, public :: TranscorrCutoff
integer, public :: TranscorrIntCutoff
real(kind=dp), public :: PotentialStrength
real(kind=dp), public :: TranscorrGaussCutoff
logical, public :: tContact
logical, public :: tUnitary
logical, public :: tTrcorrExgen
logical, public :: tTrCorrRandExgen
logical, public :: t_trcorr_gausscutoff
logical, public :: Tperiodicinmom
character(len=3), public :: real_lattice_type
integer, public :: k_lattice_vectors(3,3)
real(kind=dp), public :: k_lattice_constant
integer, public, allocatable :: kvec(:,:)
integer, public :: Highest_orb_index
integer, public :: dimen
real(kind=dp), public, allocatable :: breathingCont(:)
integer, public, allocatable :: momIndexTable(:,:,:,:)
logical, public :: tmodHub
integer, public :: iPeriodicDampingType
integer, public :: ORBORDER(8,2)
logical, public :: tFixLz
integer, public :: LzTot
integer, public :: iMaxLz
integer, public :: nIfP
integer, public :: lmsBasis
integer, public, parameter :: SymmetrySize = 2
integer, public, parameter :: SymmetrySizeB = SymmetrySize*8
type(BasisFN), public, parameter :: NullBasisFn = BasisFn(Symmetry(0), [0, 0, 0], 0, 0, 0)
integer, public, parameter :: BasisFNSize = SymmetrySize+5
integer, public, parameter :: BasisFNSizeB = BasisFNSize*8
type(BasisFN), public :: SymRestrict
integer, public :: nBasisMax(5,7) = 0
real(kind=dp), public :: ALAT(5)
real(kind=dp), public :: ECore
integer, public :: nBasis

The number of spin orbitals.

integer(kind=int64), public :: nBI
integer, public :: nMax
integer, public :: nnr
integer, public :: nocc
real(kind=dp), public :: OMEGA
logical, public :: tSpinPolar
integer, public :: iSpinSkip
real(kind=dp), public :: Beta
real(kind=dp), public, pointer :: Arr(:,:)
integer(kind=TagIntType), public :: tagArr
integer, public, pointer :: BRR(:)
integer(kind=TagIntType), public :: tagBrr
type(BasisFN), public, pointer :: G1(:)
integer(kind=TagIntType), public :: tagG1
integer, public :: LMS2
logical, public :: lNoSymmetry
logical, public :: tHFNoOrder
logical, public :: tSymIgnoreEnergies
logical, public :: tStoquastize
logical, public :: tAllSymSectors
logical, public :: tGenHelWeighted
logical, public :: tGen_4ind_weighted
logical, public :: tGen_4ind_reverse
logical, public :: tUEGNewGenerator
logical, public :: tGen_4ind_part_exact
logical, public :: tGen_4ind_lin_exact
logical, public :: tGen_4ind_2
logical, public :: tGen_4ind_2_symmetric
logical, public :: tMultiReplicas
logical, public :: tSymSet = .false.
logical, public :: tGUGA = .false.
logical, public :: tGen_nosym_guga = .false.
logical, public :: tGen_sym_guga_ueg = .false.
logical, public :: tGen_sym_guga_mol = .false.
logical, public :: tgen_guga_weighted = .false.
logical, public :: tgen_guga_crude = .false.
logical, public :: tgen_guga_mixed = .false.
logical, public :: tgen_guga_exchange = .false.
logical, public :: t_approx_exchange = .false.
logical, public :: t_crude_exchange = .false.
logical, public :: t_crude_exchange_noninits = .false.
logical, public :: is_init_guga = .false.
logical, public :: t_approx_exchange_noninits = .false.
logical, public :: t_guga_mixed_init = .true.
logical, public :: t_guga_mixed_semi = .false.
logical, public :: t_consider_diff_bias = .false.
integer, public :: nSpatOrbs
integer(kind=int64), public :: nSpatOrbs_i8
integer(kind=int64), public :: ij_pairs

This is the possible number of ordered spatial orbital pairs i <= j. This is not the same as ElecPairs, which considers the particle number and works in spin orbitals.

logical, public :: t_guga_noreorder = .false.
logical, public :: t_twisted_bc = .false.
real(kind=dp), public :: twisted_bc(3) = 0.0_dp
logical, public :: t_open_bc_x = .false.
logical, public :: t_open_bc_y = .false.
logical, public :: t_open_bc_z = .false.
logical, public :: tGen_4ind_unbound = .false.
logical, public :: t_new_real_space_hubbard = .false.
logical, public :: t_new_hubbard = .false.
real(kind=dp), public :: trans_corr_param = 0.0_dp
logical, public :: t_trans_corr = .false.
logical, public :: t_trans_corr_new = .false.
logical, public :: t_trans_corr_2body
real(kind=dp), public :: trans_corr_param_2body = 0.0_dp
logical, public :: t_trans_corr_hop = .false.
logical, public :: t_hole_focus_excits = .false.
real(kind=dp), public :: pholefocus = 0.5_dp
logical, public :: t_precond_hub = .false.
logical, public :: t_no_ref_shift = .false.
logical, public :: t12FoldSym = .false.
logical, public :: t_tJ_model = .false.
logical, public :: t_heisenberg_model = .false.
logical, public :: tNoSinglesPossible = .false.
real(kind=dp), public :: exchange_j = 0.0_dp
logical, public :: t_lattice_model = .false.
logical, public :: t_k_space_hubbard = .false.
real(kind=dp), public, allocatable :: excit_cache(:,:,:)
logical, public :: t_3_body_excits = .false.
logical, public :: t_non_hermitian_2_body = .false.
logical, public :: t_non_hermitian_1_body = .false.
logical, public :: t_calc_adjoint = .false.
integer, public :: max_ex_level = 2
character(len=20), public :: lattice_type
integer, public :: length_x = 1
integer, public :: length_y = 1
integer, public :: length_z = 1
logical, public :: t_pcpp_excitgen = .false.
logical, public :: t_fci_pchb_excitgen = .false.
logical, public :: t_impurity_excitgen = .false.
logical, public :: t_nn_hopping = .false.
real(kind=dp), public :: nn_bhub = 0.0_dp
logical, public :: t_iiaa = .false.
logical, public :: t_ratio = .false.
logical, public :: t_spin_dependent_transcorr = .false.
logical, public :: t_mixed_hubbard = .false.
logical, public :: t_olle_hubbard = .false.
logical, public :: t_test_double = .false.
logical, public :: t_test_single = .false.
integer, public :: test_i
integer, public :: test_j
integer, public :: test_k
integer, public :: test_l
logical, public :: t_anti_periodic(2) = .false.
logical, public :: tFixedNode = .false.
logical, public :: tPartialNodeThresh = .false.
real(kind=dp), public :: FixedNodeCutoff
real(kind=dp), public :: PartialNodeGamma
real(kind=dp), public :: PartialNodeThresh
real(kind=dp), public :: FixedNodeMinThresh
real(kind=dp), public :: FixedNodeLowestVal
logical, public :: tAnderson = .false.
logical, public :: t_exchange_pchb = .false.
logical, public :: t_analyze_pchb = .false.
logical, public :: t_bipartite_order = .false.
logical, public :: t_input_order = .false.
integer, public, allocatable :: orbital_order(:)
integer, public, allocatable :: user_input_m_s

Interfaces

public interface get_BasisFn

  • public pure function construct_basisfn(mdk) result(res)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: mdk(5)

    Return Value type(BasisFN)

public interface assignment(=)

  • public elemental subroutine SymAssign(lhs, rhs)

    Arguments

    Type IntentOptional Attributes Name
    type(Symmetry), intent(out) :: lhs
    type(Symmetry), intent(in) :: rhs

public interface operator(.eq.)

  • public elemental function SymEq(a, b)

    Arguments

    Type IntentOptional Attributes Name
    type(Symmetry), intent(in) :: a
    type(Symmetry), intent(in) :: b

    Return Value logical

public interface operator(.ne.)

  • public elemental function SymNEq(a, b)

    Arguments

    Type IntentOptional Attributes Name
    type(Symmetry), intent(in) :: a
    type(Symmetry), intent(in) :: b

    Return Value logical

public interface operator(.gt.)

  • public elemental function SymGt(a, b)

    Arguments

    Type IntentOptional Attributes Name
    type(Symmetry), intent(in) :: a
    type(Symmetry), intent(in) :: b

    Return Value logical

public interface operator(.lt.)

  • public elemental function SymLt(a, b)

    Arguments

    Type IntentOptional Attributes Name
    type(Symmetry), intent(in) :: a
    type(Symmetry), intent(in) :: b

    Return Value logical


Derived Types

type, public, sequence  ::  Symmetry

Components

Type Visibility Attributes Name Initial
integer(kind=int64), public :: S

type, public ::  BasisFN

Components

Type Visibility Attributes Name Initial
type(Symmetry), public :: sym
integer, public :: k(3)
integer, public :: Ms

is -1 for beta, and 1 for alpha

integer, public :: Ml
integer, public :: Dummy

Functions

public elemental function SymEq(a, b)

Arguments

Type IntentOptional Attributes Name
type(Symmetry), intent(in) :: a
type(Symmetry), intent(in) :: b

Return Value logical

public elemental function SymNEq(a, b)

Arguments

Type IntentOptional Attributes Name
type(Symmetry), intent(in) :: a
type(Symmetry), intent(in) :: b

Return Value logical

public elemental function SymGt(a, b)

Arguments

Type IntentOptional Attributes Name
type(Symmetry), intent(in) :: a
type(Symmetry), intent(in) :: b

Return Value logical

public elemental function SymLt(a, b)

Arguments

Type IntentOptional Attributes Name
type(Symmetry), intent(in) :: a
type(Symmetry), intent(in) :: b

Return Value logical

public pure function construct_basisfn(mdk) result(res)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: mdk(5)

Return Value type(BasisFN)

public pure function non_hermitian()

logical that cannot be modified directly by the user, but rather is used whenever querying any kind of nonhermiticity

Arguments

None

Return Value logical


Subroutines

public elemental subroutine SymAssign(lhs, rhs)

Arguments

Type IntentOptional Attributes Name
type(Symmetry), intent(out) :: lhs
type(Symmetry), intent(in) :: rhs