Interface to CheMPS2 by S. Wouters¶
Code author: Sebastian Wouters
Section author: Lori A. Burns
Module: Keywords, PSI Variables, Samples
Psi4 contains code to interface to the CheMPS2 library of S. Wouters, which is based at GitHub. Consult the excellent documentation for using and citing the library.
Note
As of late June 2016, DMRG keywords in Psi4 have been
realigned with those of the chemps2 executable, plus a
“dmrg_” prefix. The only exceptions are the orbital space
Psi4 keywords RESTRICTED_DOCC (formerly
CheMPS2 used FROZEN_DOCC, contrary to its
definition) and ACTIVE which are passed along to
CheMPS2 keywords NOCC
and NACT
. A translation table
is available.
Installation¶
build psi4 with the plugin option ENABLE_PLUGINS=ON, and then run:
CheMPS2 is available as conda package chemps2 or pychemps2 for Linux and OSX.
- If using the Psi4 binary, CheMPS2 has already been installed alongside.
- If using Psi4 built from source, and anaconda or miniconda has
already been installed (instructions at Quick Installation), CheMPS2
can be obtained through
conda install chemps2
. Then enable it as a feature and rebuild Psi4 to detect CheMPS2 and activate dependent code. - If using Psi4 built from source and you want CheMPS2 built from source also, enable it as a feature and let the build system fetch and build it and activate dependent code.
- To remove the CheMPS2 that conda installs alongside Psi4,
conda remove chemps2
(orconda remove pychemps2
; useconda list
to see which is installed).
Methods¶
name | calls method | Energy | Gradient |
---|---|---|---|
dmrg-ci | DMRG configuration interaction (CI) | RHF/ROHF | — |
dmrg-scf | DMRG complete active space SCF (CASSCF) | RHF/ROHF | — |
dmrg-caspt2 | DMRG CAS with 2nd-order perturbation theory (CASPT2) | RHF/ROHF | — |
DMRG Keywords¶
DMRG_CASPT2_CALC¶
Do calculate the DMRG-CASPT2 energy after the DMRGSCF calculations are done?
- Type: boolean
- Default: false
DMRG_CASPT2_IMAG¶
CASPT2 Imaginary shift
- Type: double
- Default: 0.0
DMRG_CASPT2_IPEA¶
CASPT2 IPEA shift
- Type: double
- Default: 0.0
DMRG_CASPT2_ORBS¶
Whether to calculate the DMRG-CASPT2 energy after the DMRGSCF calculations are done.
- Type: string
- Possible Values: PSEUDOCANONICAL, ACTIVE
- Default: PSEUDOCANONICAL
DMRG_DIIS_WRITE¶
Whether or not to store the DIIS checkpoint on disk (convenient for restarting).
- Type: boolean
- Default: true
DMRG_EXCITATION¶
Which root is targeted: 0 means ground state, 1 first excited state, etc.
- Type: integer
- Default: 0
DMRG_IRREP¶
The DMRG wavefunction irrep uses the same conventions as PSI4. How convenient :-). Just to avoid confusion, it’s copied here. It can also be found on http://sebwouters.github.io/CheMPS2/doxygen/classCheMPS2_1_1Irreps.html . Symmetry Conventions Irrep Number & Name Group Number & Name 0 1 2 3 4 5 6 7 0: c1 A 1: ci Ag Au 2: c2 A B 3: cs A’ A’’ 4: d2 A B1 B2 B3 5: c2v A1 A2 B1 B2 6: c2h Ag Bg Au Bu 7: d2h Ag B1g B2g B3g Au B1u B2u B3u
- Type: integer
- Default: -1
DMRG_LOCAL_INIT¶
Whether to start the active space localization process from a random unitary or the unit matrix.
- Type: boolean
- Default: true
DMRG_MOLDEN_WRITE¶
DMRG-CI or converged DMRG-SCF orbitals in molden format
- Type: boolean
- Default: false
DMRG_MPS_WRITE¶
Whether or not to create intermediary MPS checkpoints
- Type: boolean
- Default: false
DMRG_MULTIPLICITY¶
The DMRG wavefunction multiplicity in the form (2S+1)
- Type: integer
- Default: -1
DMRG_OPDM_AO_PRINT¶
Print out the density matrix in the AO basis
- Type: boolean
- Default: false
DMRG_PRINT_CORR¶
Whether or not to print the correlation functions after the DMRG calculation
- Type: boolean
- Default: false
DMRG_SCF_ACTIVE_SPACE¶
Which active space to use for DMRG calculations: –> input with SCF rotations (INPUT); –> natural orbitals (NO); –> localized and ordered orbitals (LOC)
- Type: string
- Possible Values: INPUT, NO, LOC
- Default: INPUT
DMRG_SCF_DIIS_THR¶
When the update norm is smaller than this value DIIS starts.
- Type: double
- Default: 1e-2
DMRG_SCF_GRAD_THR¶
The density RMS convergence to stop an instruction during successive DMRG instructions
- Type: double
- Default: 1.e-6
DMRG_SCF_MAX_ITER¶
Maximum number of DMRG iterations
- Type: integer
- Default: 100
DMRG_SCF_STATE_AVG¶
Whether or not to use state-averaging for roots >=2 with DMRG-SCF.
- Type: boolean
- Default: true
DMRG_SWEEP_DVDSON_RTOL¶
The residual tolerances for the Davidson diagonalization during DMRG instructions
- Type: array
- Default: No Default
DMRG_SWEEP_ENERGY_CONV¶
The energy convergence to stop an instruction during successive DMRG instructions
- Type: array
- Default: No Default
DMRG_SWEEP_MAX_SWEEPS¶
The maximum number of sweeps to stop an instruction during successive DMRG instructions
- Type: array
- Default: No Default
DMRG_SWEEP_NOISE_PREFAC¶
The noiseprefactors for successive DMRG instructions
- Type: array
- Default: No Default
DMRG_SWEEP_STATES¶
The number of reduced renormalized basis states to be retained during successive DMRG instructions
- Type: array
- Default: No Default
DMRG_UNITARY_WRITE¶
Whether or not to store the unitary on disk (convenient for restarting).
- Type: boolean
- Default: true