1
1
\subsection{Complete-Active-Space Self-Consistent-Field (CASSCF)} \label{casscf}
3
CASSCF is a general method for obtaining a qualitatively correct
4
wavefunction for highly strained molecules, diradicals, or bond
5
breaking reactions. The \PSIdetcasman\ module performs
3
Multi-configurational self-consistent-field (MCSCF)
4
is a general method for obtaining qualitatively correct
5
wavefunctions for highly strained molecules, diradicals, or bond
6
breaking reactions. The most commonly used MCSCF procedure
7
is the complete-active-space self-consistent-field (CASSCF)
8
approach \cite{Roos:1980}, which includes all possible determinants
9
(with the proper symmetry) that can be formed by distributing
10
a set of active electrons among a set of active orbitals.
11
The \PSIdetcasman\ module performs
6
12
CASSCF optimization of molecular orbitals via a two-step
7
13
procedure in which the CI wavefunction is computed using
8
14
\PSIdetci\, and the orbital rotation step is computed using
9
15
\PSIdetcas. The \PSIdetcas\ program is fairly simple
10
and uses an approximate orbital Hessian and a Newton-Raphson update,
11
accelerated by Pulay's DIIS procedure. Future versions of the
12
program will allow RASSCF type wavefunctions.
14
At present, CASSCF's work most efficiently if the inactive orbitals
15
are treated as ``frozen'' in the {\tt FROZEN\_DOCC} and {\tt FROZEN\_UOCC}
16
arrays. These orbitals are still optimized by the CASSCF. This
17
procedure is being simplified for the next release of \PSIthree.
18
See the {\tt casscf-sp} example in the \file{tests} directory for an
19
example of the current input.
16
and uses an approximate orbital Hessian \cite{Chaban:1997:88}
17
and a Newton-Raphson update,
18
accelerated by Pulay's DIIS procedure \cite{Pulay:1980}.
19
We have also implemented a prototype version of the RASSCF method
20
\cite{Malmqvist:1990:RASSCF}, which is another kind of MCSCF which
21
is typically less complete (and less expensive) than CASSCF.
22
However, orbital convergence for RASSCF can be difficult in our
23
current implementation.
25
Inactive orbitals in the MCSCF may be specified by the
26
{\tt RESTRICTED\_DOCC} and {\tt RESTRICTED\_UOCC} keywords. These
27
orbitals will remain doubly-occupied or doubly-unoccupied, respectively,
28
in the MCSCF wavefunction. However, the form of these orbitals will
29
be optimized in the MCSCF procedure. It is also possible to
30
literally freeze inactive orbitals in their original (SCF) form
31
using the {\tt FROZEN\_DOCC} and {\tt FROZEN\_UOCC} keywords.
32
This is not normally what one wishes to do in an MCSCF computation
33
(e.g., it complicates the computation of gradients),
34
but it can make the computations faster and is helpful in some
35
circumstances where unphysical mixing of inactive and active
36
occupied orbitals might occur. Presently, it is not possible
37
to mix the use of restricted and frozen orbitals in \PSIthree.
39
The division of the molecular orbitals into various subspaces such as RAS
40
spaces, or frozen vs active orbitals, etc, needs to be clear not only to
41
the {\tt detci} program, but also at least to the transformation program
42
(and in the case of MCSCF, to other programs as well). Thus,
43
orbital subspace keywords such as {\tt RAS1}, {\tt RAS2}, {\tt RAS3}, {\tt
44
frozen\_docc}, {\tt frozen\_uocc}, {\tt active}, etc., need to be
45
in the {\tt psi:()} or {\tt default:()} sections of input so they may
46
also be read by other modules.
48
The ability to perform state-averaged
49
\cite{Docken:1972:4928,Ruedenberg:1979:1069}
50
CASSCF or RASSCF computations has been added. This is accomplished using the
51
{\tt average\_states} keyword.
53
See the {\tt casscf-sp} and {\tt casscf-sa-sp} examples in the
54
\file{tests} directory and the example below.
21
56
\subsubsection{Basic Keywords}
22
57
\begin{description}
23
58
\item[WFN = string]\mbox{}\\
24
This should be {\tt detcas} for determinant-based CASSCF.
59
This may be {\tt casscf} or {\tt rasscf}.
25
60
\item[REFERENCE = string]\mbox{}\\
26
61
Any of the references allowed by \PSIdetci\ should work (i.e., not
27
62
{\tt uhf}), but there should be no reason not to use {\tt rhf}.
28
63
\item[DERTYPE = string]\mbox{}\\
29
Energies ({\tt none}) and gradients ({\tt first}) are supported.
64
At present, only energies ({\tt none}) are supported; future
65
releases will implement gradients ({\tt first}).
30
66
\item[CONVERGENCE = integer]\mbox{}\\
31
67
Convergence desired on the orbital gradient. Convergence is achieved when
32
68
the RMS of the error in the orbital gradient is less than 10**(-n). The
37
73
input, such as {\tt detcas: ( convergence = x )}.
38
74
\item[ENERGY\_CONVERGENCE = integer]\mbox{}\\
39
75
Convergence desired on the total MCSCF energy. The default is 7.
40
\item[FROZEN\_DOCC = integer array]\mbox{}\\
41
The number of lowest energy doubly occupied orbitals in each irreducible
42
representation from which there will be no excitations.
43
The Cotton ordering of the irredicible representations is used.
44
The default is the zero vector.
45
\item[FROZEN\_UOCC = integer array]\mbox{}\\
46
The number of highest energy unoccupied orbitals in each irreducible
47
representation into which there will be no excitations.
76
\item[RESTRICTED\_DOCC = (integer array)]\mbox{}\\
77
Should be in {\tt psi:()} or {\tt default:()} sections of input.
78
The number of lowest energy doubly occupied orbitals in each irreducible
79
representation from which there will be no excitations.
80
These orbitals are optimized in the MCSCF.
81
The Cotton ordering of the irredicible representations is used.
82
The default is the zero vector.
83
\item[RESTRICTED\_UOCC = (integer array)]\mbox{}\\
84
Should be in {\tt psi:()} or {\tt default:()} sections of input.
85
The number of highest energy unoccupied orbitals in each irreducible
86
representation into which there will be no excitations.
87
These orbitals are optimized in the MCSCF.
88
The default is the zero vector.
89
\item[FROZEN\_DOCC = (integer array)]\mbox{}\\
90
Should be in {\tt psi:()} or {\tt default:()} sections of input.
91
The number of lowest energy doubly occupied orbitals in each irreducible
92
representation from which there will be no excitations.
93
These orbitals are literally frozen and are not optimized in the MCSCF;
94
usually one wishes to use {\tt RESTRICTED\_DOCC} instead.
95
The current version of the program does not allow both
96
{\tt RESTRICTED\_DOCC} and {\tt FROZEN\_DOCC}.
97
Should be in {\tt psi:()} or {\tt default:()} sections of input.
98
The Cotton ordering of the irredicible representations is used.
99
The default is the zero vector.
100
\item[FROZEN\_UOCC = (integer array)]\mbox{}\\
101
Should be in {\tt psi:()} or {\tt default:()} sections of input.
102
The number of highest energy unoccupied orbitals in each irreducible
103
representation into which there will be no excitations.
104
These orbitals are literally frozen and are not optimized in the MCSCF;
105
usually one wishes to use {\tt RESTRICTED\_UOCC} instead.
106
The current version of the program does not allow both
107
{\tt RESTRICTED\_UOCC} and {\tt FROZEN\_UOCC}.
108
Should be in {\tt psi:()} or {\tt default:()} sections of input.
48
109
The default is the zero vector.
49
110
\item[NCASITER = integer]\mbox{}\\
50
111
Maximum number of iterations to optimize the orbitals. This option
51
112
should be specified in the DEFAULT section of input, because
52
113
it needs to be visible to the control program PSI. Defaults to 20.
114
\item[AVERAGE\_STATES = (integer array)]\mbox{}\\
115
This gives a list of what states to average for the orbital
116
optimization. States are numbered starting from 1.
53
117
\item[PRINT = integer]\mbox{}\\
54
118
This option determines the verbosity of the output. A value of 1 or
55
119
2 specifies minimal printing, a value of 3 specifies verbose printing.
56
120
Values of 4 or 5 are used for debugging. Do not use level 5 unless
57
the test case is very small (e.g. STO H2O CISD).
121
the test case is very small (e.g. STO H$_2$O CISD).
124
\subsubsection{Examples}
127
% 6-31G** H2O Test CASSCF Energy Point
130
label = "6-31G** CASSCF H2O"
134
restricted_docc = (1 0 0 0)
144
\caption{Example of a CASSCF single-point calculation for H$_2$O using
145
a valence active space 3a$_1$ 1b$_1$ 2b$_2$.}
146
\label{ex:casscf-sp-1}