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

RASSCF |
CASSCF |
---|---|

## Basic MCSCF Keywords¶

### MCSCF_E_CONVERGENCE¶

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

Type: conv double

Default: 1e-7

### MCSCF_R_CONVERGENCE¶

Convergence criterion for the RMS of the orbital gradient

Type: conv double

Default: 1e-5

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