MCSCF: Multi-Configurational Self-Consistent-Field

Code author: Daniel G. A. Smith, C. David Sherrill, and Matthew L. Leininger

Section author: Daniel G. A. Smith and C. David Sherrill

Module: Keywords, PSI Variables, DETCI

As the cost of Full CI scales exponentially with respect to the number of active orbitals it is often advantageous to neglect orbitals that do not exhibit strong correlation. These orbitals are variationally optimized simultaneously with the CI coefficients and known as Multi-Configurational Self-Consistent Field (MCSCF). The most commonly used MCSCF procedure is the complete-active-space self-consistent-field (CASSCF) approach [Roos:1980], which includes all possible determinants (with the proper symmetry) that can be formed by distributing a set of active electrons among a set of active orbitals. The MCSCF module performs CASSCF optimization of molecular orbitals via a two-step procedure in which the CI coefficients and orbitals are optimized in an alternating manner. The program uses a fairly simple approximate orbital Hessian [Chaban:1997:88] and a Newton-Raphson update, accelerated by Pulay’s DIIS procedure [Pulay:1980]. We have also implemented the RASSCF method [Malmqvist:1990:RASSCF], which is another kind of MCSCF which is typically less complete (and less expensive) than CASSCF.

Inactive orbitals in the MCSCF may be specified by the RESTRICTED_DOCC and RESTRICTED_UOCC keywords. These orbitals will remain doubly-occupied or doubly-unoccupied, respectively, in the MCSCF wavefunction. However, the form of these orbitals will be optimized in the MCSCF procedure. It is also possible to literally freeze inactive orbitals in their original (SCF) form using the FROZEN_DOCC and FROZEN_UOCC keywords. This is not normally what one wishes to do in an MCSCF computation (e.g., it complicates the computation of gradients), but it can make the computations faster and is helpful in some circumstances where unphysical mixing of inactive and active occupied orbitals might occur. Presently, it is not possible to mix the use of restricted and frozen orbitals in PSI4.

An illustrative CASSCF example is as follows:

molecule {
O
H 1 1.00
H 1 1.00 2 103.1
}

set {
    basis           6-31G**
    restricted_docc [1, 0, 0, 0]
    active          [3, 0, 1, 2]
}
energy('casscf')

This input will compute the CASSCF energy of water where the 1s Oxygen orbital and several virtual orbitals are not included in the CI expansion, but are still optimized. The following is a full list of spaces within the various MCSCF types.

Orbital spaces for MCSCF computations

RASSCF

CASSCF

FROZEN_UOCC

FROZEN_UOCC

RESTRICTED_UOCC

RESTRICTED_UOCC

RAS4

ACTIVE

RAS3

RAS2

RAS1

RESTRICTED_DOCC

RESTRICTED_DOCC

FROZEN_DOCC

FROZEN_DOCC

Basic MCSCF Keywords

MCSCF_E_CONVERGENCE

Convergence criterion for energy. See Table Post-SCF Convergence for default convergence criteria for different calculation types.

MCSCF_R_CONVERGENCE

Convergence criterion for the RMS of the orbital gradient

MCSCF_TYPE

Method to handle the two-electron integrals

  • Type: string

  • Possible Values: DF, CONV, AO

  • Default: CONV

MCSCF_ALGORITHM

Convergence algorithm to utilize. Two-Step, Augmented Hessian, or One-Step. Defaults to TS for RASSCF.

  • Type: string

  • Possible Values: TS, AH

  • Default: TS

MCSCF_MAXITER

Maximum number MCSCF of iterations

  • Type: integer

  • Default: 30

MCSCF_ROTATE

Apply a list of 2x2 rotation matrices to the orbitals in the form of [irrep, orbital1, orbital2, theta] where an angle of 0 would do nothing and an angle of 90 would switch the two orbitals.

  • Type: array

  • Default: No Default

MCSCF_DIIS_START

Iteration to turn on DIIS for TS convergence

  • Type: integer

  • Default: 3