Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/konjkov/pycasino

Python realisation of Casino (QMC) program
https://github.com/konjkov/pycasino

mpi4py numba numpy python3 quantum-chemistry quantum-monte-carlo scipy

Last synced: about 1 month ago
JSON representation

Python realisation of Casino (QMC) program

Awesome Lists containing this project

README

        

# Quantum Monte Carlo package

The Pycasino is python implementation of the well-known [Casino](https://vallico.net/casinoqmc/) program.

## Basic functionality

1. supported orbital file formats: gwfn.data, stowfn.data
2. using multi-determinant expansions
3. capable of doing 3-term Jastrow factor and 3-term Backflow
4. configuration-by-configuration (CBCS) and electron-by-electron (EBES) sampling
5. partial Ma CUSP correction (no rc optimization yet)
6. MPI parallelization
7. support VMC and DMC energy calculation, varmin and emin optimization
8. pseudopotential

## List of supported keywords in input file

### 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
* **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)
* **VMC_METHOD** (1) - EBES (work in progress), (3) - CBCS.

### 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_MAXEVAL** Maximum number of evaluations of the variance during variance minimization (default 50)
* **OPT_PLAN** Allows specifying different parameters for each optimization cycle
* **VM_REWEIGHT** If set then the reweighted variance-minimization algorithm will be used, else the unreweighted algorithm will be used
Unreweighted variance minimization is recommended
* **EMIN_METHOD** Energy minimization method to use: newton, linear (default), reconf

### 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)

### 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 1e-5
* **NLCUTOFFTOL** This is used to define the cutoff radius for the nonlocal parts of the pseudopotential, the default being 1e-5