Psi4 Project Logo

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 (or conda remove pychemps2; use conda list to see which is installed).

Methods

Density matrix renormalization group capabilities of Psi4 through CheMPS2
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?

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

Whether or not to use DIIS for DMRG.

DMRG_DIIS_WRITE

Whether or not to store the DIIS checkpoint on disk (convenient for restarting).

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.

DMRG_MOLDEN_WRITE

DMRG-CI or converged DMRG-SCF orbitals in molden format

DMRG_MPS_WRITE

Whether or not to create intermediary MPS checkpoints

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

DMRG_PRINT_CORR

Whether or not to print the correlation functions after the DMRG calculation

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.

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