Supported configuration files and their contents

Pycasino can read input files in well-known Casino format.

Input files are supported

  • input is the main input parameter file.

  • correlation.data file contains all optimizable parameters together with accompanying data (for example, the parameters used to define a Jastrow factor or backflow function).

  • gwfn.data file contains the data that defines the geometry, the gaussian-type orbitals and, if appropriate, the determinant expansion coefficients.

  • stowfn.data file contains the data that defines the geometry and the slater-type orbitals.

  • x_pp.data (where x is the chemical symbol of an element in lower-case letters.) This file contains the pseudopotential data for the corresponding element.

Input parameters supported

General keywords

  • NEU, NED - number of electrons of up and down spin

  • RUNTYPE - type of QMC calculation: vmc, vmc_dmc, vmc_opt

  • TESTRUN - if this flag is T then read input files, print information and stop

  • ATOM_BASIS_TYPE - the type of orbitals to be used: gaussian, slater-type

VMC keywords

  • VMC_EQUIL_NSTEP - number of equilibration steps

  • VMC_NSTEP - number of VMC energy-evaluation steps

  • VMC_DECORR_PERIOD - number of steps between VMC energy-evaluation moves (0 = auto)

  • VMC_NCONFIG_WRITE - number of VMC configurations stored for later use in DMC or optimization

  • VMC_NBLOCK - number of blocks into which the total VMC run is divided post-equilibration

  • DTVMC - VMC time step (size of trial steps in random walk, default 0.02)

  • OPT_DTVMC - if T, automatically adjust the VMC step size to achieve ~50 % acceptance rate (default T)

  • VMC_METHOD - (1) EBES electron-by-electron sampling (work in progress), (3) CBCS configuration-by-configuration sampling (recommended)

  • GAUTOL - Gaussian cut-off tolerance; skip a primitive if \(\alpha r^2 > \log(10) \times \text{GAUTOL}\) (default 7.0)

Optimization keywords

  • OPT_CYCLES - number of optimization VMC cycles to perform

  • OPT_METHOD - optimization method to use: varmin, emin

  • OPT_JASTROW - optimize the Jastrow factor in wave-function optimization

  • OPT_BACKFLOW - optimize backflow parameters in wave-function optimization

  • OPT_DET_COEFF - optimize the coefficients of the determinants in wave-function optimization

  • OPT_ORBITALS - optimize the orbitals in wave-function optimization (work in progress)

  • OPT_MAXITER - maximum number of iterations of the outer optimisation loop (default 10)

  • OPT_MAXEVAL - maximum number of objective-function evaluations per iteration (default 200)

  • OPT_NOCTF_CYCLES - number of optimisation cycles in which the cutoff lengths are not optimised (default 0)

  • POSTFIT_VMC - if T, run a VMC energy accumulation after each optimisation cycle (default T)

  • OPT_PLAN - block keyword to specify different parameters for each optimization cycle; each row sets opt_method, opt_cycles, and optionally emin_method for that cycle

  • OPT_FIXNL - if T, freeze the nonlocal-pseudopotential contribution during variance minimisation (default T for varmin)

  • VM_REWEIGHT - if T, use the reweighted variance-minimisation algorithm; unreweighted (F) is recommended (default F)

  • VM_SMOOTH_LIMIT - apply a smooth cutoff to the weight limit in reweighted varmin (default T)

  • VM_W_MAX - upper threshold for reweighting weights (default 0.0 = no limit)

  • VM_W_MIN - lower threshold for reweighting weights (default 0.0 = no limit)

  • EMIN_METHOD - energy minimisation method: linear (default), newton, reconf

  • EMIN_XI_VALUE - stabilisation parameter \(\xi\) for the linear energy-minimisation method (default 1.0)

DMC keywords

  • DMC_TARGET_WEIGHT - target number of configurations in DMC

  • DMC_EQUIL_NSTEP - number of DMC steps in equilibration

  • DMC_STATS_NSTEP - number of DMC steps in statistics accumulation

  • DMC_EQUIL_NBLOCK - number of blocks into which the DMC equilibration phase is divided

  • DMC_STATS_NBLOCK - number of blocks into which the DMC statistics accumulation phase is divided

  • DTDMC - DMC time step

  • DMC_METHOD - (1) - EBES, (2) - CBCS

  • LIMDMC - set modifications to Green’s function in DMC. Only (4) Umrigar mods to drift velocity, Zen–Sorella–Alfè mods to energy

  • ALIMIT - parameter required by DMC drift-velocity- and energy-limiting schemes

  • NUCLEUS_GF_MODS - this keyword is the switch for enabling the use of the modifications to the DMC Green’s function for the presence of bare nuclei

  • EBEST_AV_WINDOW - averaging window for calculating the ground-state energy during equilibration (work in progress)

  • USE_TMOVE - use Casula T-move scheme for nonlocal pseudopotentials in DMC (default T)

WFN definition keywords

  • BACKFLOW - turns on backflow corrections. Backflow parameters are read from correlation.data

  • USE_JASTROW - use a wave function of the Slater-Jastrow form. The Jastrow factor is read from correlation.data

  • USE_GJASTROW - use gjastrow Jastrow factor. This Jastrow factor is defined in a parameters.casl file (work in progress)

Cusp correction keywords

  • CUSP_CORRECTION - when the cusp correction flag is activated, the s-type Gaussian basis functions centred on each atom are replaced within a small sphere by a function which ensures that the electron–nucleus cusp condition is obeyed

  • CUSP_INFO - if set then information about how cusp correction is done will be printed to the log-file

  • CUSP_THRESHOLD - if the magnitude of the s-component of a Gaussian orbital is less than this threshold then it will not be cusp corrected

Pseudopotential keywords

  • NON_LOCAL_GRID - selects the grid for nonlocal integration, can take values between 1 and 7, the default being 4

  • LCUTOFFTOL - this is used to define the cutoff radius for the local part of the pseudopotential, the default being 10-5

  • NLCUTOFFTOL - this is used to define the cutoff radius for the nonlocal parts of the pseudopotential, the default being 10-5

Configs read/write

Config loader is represented by the casino.readers.CasinoConfig class. The CasinoConfig instance represents the relevant information in various attributes:

  • config.input - data from input file

  • config.wfn - data from gwfn.data or stowfn.data files

  • config.mdet - multideterminant data from correlation.data files

  • config.jastrow - jastrow related data from correlation.data files

  • config.backflow - backflow related data from correlation.data files

Config files can be read:

from casino.readers import CasinoConfig

config_path = <path to a directory containing input file>
config = CasinoConfig(config_path)
config.read()

modified:

config.title = 'New config title'
config.mdet.title = 'New mdet section title'
config.jastrow.title = 'New jastrow section title'
config.backflow.title = 'New backflow section title'

and written to a new destination:

config.write('.', version=0)