SetCalcDefaults Subroutine

public subroutine SetCalcDefaults()

Uses

Arguments

None

Contents

Source Code


Source Code

    subroutine SetCalcDefaults()
        use FciMCData, only: hash_shift

        ! Set defaults for Calc data items.

        ! Values for old parameters.
        ! These have no input options to change the defaults, but are used in
        ! the code.
        InputTargetGrowRateWalk = 500000
        InputTargetGrowRate = 0.0_dp
        InitialPart = 1.0_dp
        B2L = 1.0e-13_dp
        TMC = .false.
        NHISTBOXES = 0
        TREADRHO = .false.
        TRHOIJ = .false.
        TBEGRAPH = .false.

        if(Nov11) then
            tInstGrowthRate = .true.
        else
            tInstGrowthRate = .false.
        end if

!       Calc defaults
        iSampleRDMIters = -1
        tStartCoreGroundState = .true.
        t_core_inits = .true.
        HashLengthFrac = 0.7_dp
        nWalkerHashes = 0
        tTrialHash = .true.
        tIncCancelledInitEnergy = .false.
        iExitWalkers = -1
        FracLargerDet = 1.2_dp
        iReadWalkersRoot = 0
        tShiftonHFPop = .false.
        MaxWalkerBloom = 2

        t_lanczos_init = .false.
        t_lanczos_store_vecs = .true.
        t_lanczos_orthogonalise = .false.
        t_force_lanczos = .false.
        lanczos_max_restarts = 10
        lanczos_max_vecs = 40
        lanczos_energy_precision = 8
        lanczos_ritz_overlap_precision = 4

        tTimeExit = .false.
        MaxTimeExit = 0.0_dp
        tMaxBloom = .false.
        iRestartWalkNum = 0
        iWeightPopRead = 0.0_dp
        tCheckHighestPop = .true.
        tChangeProjEDet = .true.
        StepsSftImag = 0.0_dp
        TauFactor = 0.0_dp
        tStartMP1 = .false.
        tStartCAS = .false.
        iAnnInterval = 1
        tTruncCAS = .false.
        iFullSpaceIter = 0
        iDetGroup = 2
        tFindDets = .false.
        SinglesBias = 1.0_dp
        tSpawnAsDet = .false.
        tDirectAnnihil = .true.
        tRotoAnnihil = .false.
        OccCASorbs = 0
        VirtCASorbs = 0
        TUnbiasPGeninProjE = .false.
        TRegenExcitgens = .false.
        MemoryFacPart = 10.0_dp
        MemoryFacSpawn = 3.0_dp
        MemoryFacInit = 0.3_dp
        TStartSinglePart = .true.
        TFixParticleSign = .false.
        TProjEMP2 = .false.
        THFRetBias = .false.
        TSignShift = .false.
        tFixedN0 = .false.
        tSkipRef(:) = .false.
        tTrialShift = .false.
        tFixTrial(:) = .false.
        TrialTarget = 0.0
        tAdaptiveShift = .false.
        tCoreAdaptiveShift = .false.
        tLinearAdaptiveShift = .false.
        LAS_Sigma = 1.0
        LAS_F1 = 0.0
        LAS_F2 = 1.0
        tAutoAdaptiveShift = .false.
        AAS_Thresh = 10
        AAS_Expo = 1
        AAS_Cut = -1 !If the user does not specify a value, this will be set to 1.0/HFConn later
        tAAS_MatEle = .false.
        tAAS_MatEle2 = .false.
        tAAS_MatEle3 = .false.
        tAAS_MatEle4 = .false.
        AAS_DenCut = 0.5
        AAS_Const = 0.0
        tAS_TrialOffset = .false.
        tAS_Offset = .false.
        ShiftOffset = 0.0_dp
        tInitsRDMRef = .false.
        tInitsRDM = .false.
        tApplyLC = .true.
        NEquilSteps = 0
        NShiftEquilSteps = 1000
        TRhoElems = .false.
        TReturnPathMC = .false.
        CLMax = NEl
        PRet = 1.0_dp
        TNoAnnihil = .false.
        TFullUnbias = .false.
        TFCIMC = .false.
        tRPA_QBA = .false.
        TMCDets = .false.
        TBinCancel = .false.
        ScaleWalkers = 1.0_dp
        TReadPops = .false.
        iPopsFileNoRead = 0
        iPopsFileNoWrite = 0
        tWalkContGrow = .false.
        StepsSft = 10
        SftDamp = 0.1_dp
        call assign_value_to_tau(0.0_dp, 'Default value initialization.')
        InitWalkers = 3000.0_dp
        NMCyc = -1
        eq_cyc = -1
        HApp = 1
        TMCStar = .false.
        THDiag = .false.
        GrowGraphsExpo = 2.0_dp
        TGrowInitGraph = .false.
        AvMCExcits = 1.0_dp
        tDynamiCAvMCEx = .false.
        TMaxExcit = .false.
        TFullDiag = .false.
        TSinglesExcitSpace = .false.
        TOneExcitConn = .false.
        TStarTrips = .false.
        tFCIDavidson = .false.
        TLanczos = .false.
        tDavidson = .false.
        TNoSameExcit = .false.
        TInitStar = .false.
        NoMoveDets = 1
        TMoveDets = .false.
        GraphBias = 0.99_dp
        TBiasing = .false.
        NDets = 400
        Iters = 10
        TGraphMorph = .false.
        LinePoints = 10
        TSTARSTARS = .false.
        TDIAGNODES = .false.
        STARPROD = .false.
        TCALCHMAT = .false.
        TStar = .false.
        TENERGY = .false.
        NEVAL = 0
        TREAD = .false.
        NBLK = 4
        NKRY = 8
        TBLOCK = .false.
        ICILEVEL = 0
        TNEWEXCITATIONS = .FALSE.
        NWHTAY(:, :) = 0
        NCYCLE = 200
        IOBS = 16
        JOBS = 16
        KOBS = 16
        NDETWORK = 50000
        I_HMAX = 0
        I_VMAX = 0
        g_MultiWeight(:) = 0.0_dp
        tCalcWithField = .false.
!This is whether to calculate the expected variance for a MC run when doing full sum (seperate denominator and numerator at present
        TVARCALC(:) = .false.
        TBIN = .false.
        TVVDISALLOW = .false.
        tMCDirectSum = .FALSE.
        TMPTHEORY = .FALSE.
        tMP2Standalone = .FALSE.
        TMODMPTHEORY = .FALSE.
        G_VMC_PI = 0.95_dp
        ! Default the seed to some essentially random number (time of day)
        G_VMC_SEED = int(MPI_WTIME())
        G_VMC_FAC = 16.0_dp
        TUPOWER = .false.
        G_VMC_EXCITWEIGHT(:) = 0.0_dp
        G_VMC_EXCITWEIGHTS(:, :) = 0.0_dp
        EXCITFUNCS(:) = .false.
        EXCITFUNCS(10) = .true.
        NPaths = 1
        iActiveBasis = 0
        nActiveSpace(:) = 0
        TNPDERIV = .false.
        TMONTE = .false.
        IMCSTEPS = 0
        IEQSTEPS = 0
        BETAEQ = 0.0_dp
        TMCDET = .false.
        MDK(:) = 0
        DETINV = 0
        TSPECDET = .false.
        TTROT = .true.
        BETA = 1000.0_dp
        BETAP = 1.0e-4_dp
        TBETAP = .false.
        RHOEPSILON = 1.0e-6_dp
        DBETA = -1.0_dp
        GraphEpsilon = 0.0_dp
        PGenEpsilon = 0.0_dp
        StarConv = 1.0e-3_dp
        calcp_sub2vstar = .false.
        calcp_logweight = .false.
        TENPT = .false.
        TLADDER = .false.
        tDefineDet = .false.
        tTruncInitiator = .false.
        tAddtoInitiator = .false.
        tActivateLAS = .false.
        tLogAverageSpawns = .false.
        spawnSgnThresh = 3.0_dp
        minInitSpawns = 20
        tGlobalInitFlag = .false.
        tInitCoherentRule = .true.
        InitiatorWalkNo = 3.0_dp
        ErrThresh = 0.3
        tSeniorInitiators = .false.
        SeniorityAge = 1.0_dp
        MaxNoatHF = 0.0_dp
        HFPopThresh = 0
        tSpatialOnlyHash = .false.
        tStoredDets = .false.
        tNeedsVirts = .true.! Set if we need virtual orbitals  (usually set).  Will be unset
        !(by Calc readinput) if I_VMAX=1 and TENERGY is false
        tZeroRef = .false.
        tReadPopsChangeRef = .false.
        tReadPopsRestart = .false.
        iLogicalNodeSize = 0 !Meaning use the physical node size
        tAllRealCoeff = .false.
        tUseRealCoeffs = .false.
        tRealCoeffByExcitLevel = .false.
        RealCoeffExcitThresh = 2
        tRealSpawnCutoff = .true.
        RealSpawnCutoff = 0.95_dp
        OccupiedThresh = 1.0_dp
        tJumpShift = .true.
!Feb 08 default set.
        IF(Feb08) THEN
            RhoEpsilon = 1.0e-8_dp
        end if

        tUseProcsAsNodes = .false.

        ! Truncation based on number of unpaired electrons
        tTruncNOpen = .false.

        ! trunaction for spawns/based on spawns
        t_truncate_unocc = .false.
        t_prone_walkers = .false.
        t_activate_decay = .false.

        hash_shift = 0
        tUniqueHFNode = .false.

        ! Semi-stochastic and trial wavefunction options.
        tSemiStochastic = .false.
        t_fast_pops_core = .true.
        t_global_core_space = .true.
        tDynamicCoreSpace = .false.
        tIntervalSet = .false.
        tStaticCore = .true.
        coreSpaceUpdateCycle = 400

        semistoch_shift_iter = 0
        tTrialWavefunction = .false.
        tDynamicTrial = .false.
        trialSpaceUpdateCycle = 400
        tKP_FCIQMC = .false.
        tLetInitialPopDie = .false.
        tWritePopsNorm = .false.
        pops_norm_unit = 0
        n_init_vecs_ftlm = 20
        n_lanc_vecs_ftlm = 20
        nbeta_ftlm = 100
        delta_beta_ftlm = 0.1_dp
        n_lanc_vecs_sl = 20
        nomega_spectral = 100
        tIWSpec = .false.
        delta_omega_spectral = 0.01_dp
        min_omega_spectral = 0.0_dp
        spectral_broadening = 0.05_dp
        spectral_ground_energy = 0.0_dp
        tIncludeGroundSpectral = .false.
        alloc_popsfile_dets = .false.
        tDetermHFSpawning = .true.
        tOverlapPert = .false.

        if(t_mixed_hubbard .or. t_olle_hubbard) then
            pParallel = 0.0_dp
        else
            pParallel = 0.5_dp
        end if

        pop_change_min = 50
        tOrthogonaliseReplicas = .false.
        tOrthogonaliseSymmetric = .false.
        orthogonalise_iter = 0
        tReplicaSingleDetStart = .false.
        tSignedRepAv = .false.
        use_spawn_hash_table = .false.

        ! Continuous time FCIQMC control
        tContTimeFCIMC = .false.
        tContTimeFull = .false.
        cont_time_max_overspawn = 4.0

        tLoadBalanceBlocks = .true.
        loadBalanceInterval = 0
        tPopsJumpShift = .false.
        calc_seq_no = 1

        ! Superinitiator flags and thresholds
        tAllDoubsInitiators = .false.
        tDelayAllDoubsInits = .false.
        allDoubsInitsDelay = 0
        tSetDelayAllDoubsInits = .false.
        ! By default, we have one reference for the purpose of all-doubs-initiators
        nRefs = 1
        maxNRefs = 1
        targetRefPop = 1000
        targetRefPopTol = 80
        tVariableNref = .false.
        tSingleSteps = .true.
        tReadRefs = .false.
        tDelayGetRefs = .false.
        tSuppressSIOutput = .true.
        NoTypeN = InitiatorWalkNo
        tStrictCoherentDoubles = .false.
        tWeakCoherentDoubles = .true.
        tAvCoherentDoubles = .true.
        coherenceThreshold = 0.5
        SIThreshold = 0.95
        SIUpdateInterval = 100
        tAdiActive = .false.
        minSIConnect = 1

        tForceFullPops = .false.

        ! Walker scaling with energy
        ! do not use scaled walkers
        tEScaleWalkers = .false.
        tLogNumSpawns = .false.
        sFAlpha = 1.0_dp
        sFBeta = 1.0_dp
        sFTag = 0

        ! shift scaling with local population
        tAllAdaptiveShift = .false.
        ! First calculations indicate that this is a reasonable value
        cAllAdaptiveShift = 2

        ! Epstein-Nesbet second-order correction logicals.
        tEN2 = .false.
        tEN2Init = .false.
        tEN2Truncated = .false.
        tEN2Started = .false.
        tEN2Rigorous = .false.

        tTrialInit = .false.

        tPreCond = .false.
        tReplicaEstimates = .false.

        tDeathBeforeComms = .false.
        tSetInitFlagsBeforeDeath = .false.

        tSetInitialRunRef = .true.

        tInitiatorSpace = .false.
        tPureInitiatorSpace = .false.
        tSimpleInit = .false.
        tAllConnsPureInit = .false.
        allowedSpawnSign = 0

        tDetermProjApproxHamil = .false.

        ! Giovannis option for RDMs without non-initiators
        tNonInitsForRDMs = .true.
        tOutputInitsRDM = .false.
        tNonVariationalRDMs = .false.
        tMoveGlobalDetData = .false.
        tAllowSpawnEmpty = .false.
        ! scaling of spawns
        tScaleBlooms = .false.
        max_allowed_spawn = MaxWalkerBloom
    end subroutine SetCalcDefaults