28.2 Running FCIQMC

Although many options and details are provided here, often FCIQMC calculations can be performed using default parameters in a relatively `black-box' fashion, requiring knowledge of only a few key options.

The FCIQMC program is invoked by the command


The simulation will then run within an orbital space obtained from the previous calculation (generally Restricted Hartree–Fock, although MCSCF/CASSCF/localized/unrestricted orbitals, as well as orbital subspaces can also be used with care). The electron number, spin-polarization and symmetry block of the FCIQMC calculation will also be presumed to be the same as specified for this preceding calculation, unless directives specify otherwise, and therefore should result in the FCIQMC module defining a `reference' configuration which is the same as the Hartree–Fock determinant in the previous calculation. The symmetry and energy of this determinant should be checked to avoid slow convergence, or one to an incorrect symmetry solution.

Directives are usually not necessary, but the CORE, OCC, ORBITAL and WF directives work as in the MOLPRO CCSD program if core electrons are to be correlated, or if alternative orbital subsets or wavefunctions wish to be defined contrary to the previous mean-field calculation.

The default running procedure is an $i$-FCIQMC calculation, initialized with a single walker at the reference determinant, and the $S$ shift parameter fixed at zero. The number of initial walkers, or value for the shift can be adjusted from their default settings with the STARTWALKERS and FIXEDSHIFT options. This initial stage should result in an exponential growth of walkers, whose rate of growth depends on the timestep, value of the fixed shift, and the correlation energy of the problem. This phase of the calculation is called `fixed shift mode'. Once the total number of walkers has reached a number given by TARGETWALKERS, the shift is updated every INTERVAL iterations, in order to stabilize the walker growth.

The default behavior is to run for only 100 iterations. This is generally far too short, and should be changed using the ITERATIONS command, the TIME command, or dynamically with the CHANGEVARS facility, which will be detailed in section 28.5. In addition, the timestep will be initially chosen as a reasonable upper-bound, and then dynamically updated through the initial part of the calculation in order to eliminate walker `blooming' events, where multiple walkers (of more than MAXWALKERBLOOM are created in a single spawning attempt. However, this initial upper-bound can be a poor guess if the system is especially small, and so alternatively, the timestep can be specified and fixed for the entire calculation with the TIMESTEP option. Generally this wants to be as large as possible without causing frequent blooming events.

The available options are summarized in Table 12, and those requiring a more detailed explanation are expanded on in section 28.3.

Table 12: Options for FCIQMC
Option Default Allowed values Short description
SYMMETRY ON `ON/OFF' Whether to use point-group symmetry
SPIN OFF `EVEN/ODD' Whether to use spin-reversal symmetry
ITERATIONS 100 INT Maximum number of iterations
TIME OFF REAL Runtime in minutes
TIMESTEP N/A REAL Timestep for use in calculation
STARTWALKERS 1 INT Number of initial walkers on
      reference configuration
TARGETWALKERS 10,000 INT Target number of total walkers for
      entry to variable shift mode
SEED -7 INT Random number seed
STARTMP1 OFF INT Initialize value walkers at
      MP1 wavefunction distribution
MAXATREF OFF INT Target number of walkers on reference
      configuration for variable shift mode
FIXEDSHIFT 0.0 REAL Initial value of the fixed shift
SHIFTDAMPING 0.1 REAL Damping parameter for adjustment of
      the shift in variable shift mode
INTERVAL 10 INT Iteration interval for writing out
      statistics and updating of the shift
PROJE-CHANGEREF OFF INT Percentage increase from the current
      reference population required
      to change reference dynamically
FULL_FCIQMC False True/False Flag to determine whether to run
      full FCIQMC or $i$-FCIQMC algorithms
INITIATOR_THRESH 3 INT $n_{add}$ parameter for initiator criterion
MAXWALKERBLOOM INIT_THSH INT Maximum allowed spawning probability
      if automatically adjusting timestep
TRUNCATE OFF INT($n$) Truncate space by excitation level $n$
PARTIALFREEZEOCC OFF INT Number of lowest energy occupied
      spin-orbitals to partially freeze
PARTIALFREEZEHOLES OFF INT Number of holes allowed in the
      PARTIALFREEZEOCC orbital space
PARTIALFREEZEVIRT OFF INT Number of highest energy virtual
      spin-orbitals to partially freeze
PARTIALFREEZEVIRTELECS OFF INT Number of electrons allowed in the
      PARTIALFREEZEVIRT orbital space

Table 13: Options for FCIQMC cont.
Option Default Allowed values Short description
MEMORYFACWALKERS 1.5 REAL Memory factor for main walker array
MEMORYFACSPAWNED 0.3 REAL Memory factor for spawned walker arrays
SINGLESBIAS OFF REAL Singles biasing factor in excitations
READWALKERS False True/False Option to read in walker distribution
      from previous run (requires POPSFILEs)
CONTINUEWALKERGROWTH False True/False If restarting, indicates whether to resume
      calculation in fixed/variable shift mode
      every value iterations
      every value hours
INCREMENTPOPSFILES False True/False If True preserve previous POPSFILEs
REBLOCKSHIFT OFF INT Perform error analysis on data
      from previous calculation with
      specified iteration equilibration time
      for shift estimate
REBLOCKPROJE OFF INT Perform error analysis on data
      from previous calculation with
      specified iteration equilibration time
      for projected energy estimate
NOMCOUTPUT False True/False Suppress iteration-specific output
      (Note all data still written to
      FCIQMCStats file)
CALCMCSIZESPACE OFF INT Run routine to stochastically calculate
      size of symmetry-allowed FCI space

molpro@molpro.net 2020-04-18