1%
2% $Id$
3%
4\label{sec:mcscf}
5
6The NWChem multiconfiguration SCF (MCSCF) module can currently perform
7complete active space SCF (CASSCF) calculations with at most 20 active
8orbitals and about 500 basis functions.  It is planned to extend it to
9handle 1000+ basis functions.
10
11\begin{verbatim}
12  MCSCF
13    STATE <string state>
14    ACTIVE <integer nactive>
15    ACTELEC <integer nactelec>
16    MULTIPLICITY <integer multiplicity>
17    [SYMMETRY <integer symmetry default 1>]
18    [VECTORS [[input] <string input_file default $file_prefix$.movecs>]
19           [swap <integer vec1 vec2> ...] \
20           [output <string output_file default input_file>] \
21           [lock]
22    [HESSIAN (exact||onel)]
23    [MAXITER <integer maxiter default 20>]
24    [THRESH  <real thresh default 1.0e-4>]
25    [TOL2E <real tol2e default 1.0e-9>]
26    [LEVEL <real shift default 0.1d0>]
27  END
28\end{verbatim}
29Note that the \verb+ACTIVE+, \verb+ACTELEC+, and \verb+MULTIPLICITY+
30directives are {\em required}.  The symmetry and multiplicity may
31alternatively be entered using the \verb+STATE+ directive.
32
33\section{{\tt ACTIVE} --- Number of active orbitals}
34
35The number of orbitals in the CASSCF active space must be specified
36using the {\tt ACTIVE} directive.
37
38E.g.,
39\begin{verbatim}
40  active 10
41\end{verbatim}
42
43The input molecular orbitals (see the vectors directive, Sections
44\ref{sec:mcscfvectors} and \ref{sec:vectors}) must be arranged in
45order
46\begin{enumerate}
47\item doubly occupied orbitals,
48\item active orbitals, and
49\item unoccupied orbitals.
50\end{enumerate}
51
52\section{{\tt ACTELEC} --- Number of active electrons}
53
54The number of electrons in the CASSCF active space must be specified
55using the the {\tt ACTELEC} directive.  An error is reported if the
56number of active electrons and the multiplicity are inconsistent.
57
58The number of closed shells is determined by subtracting the number
59of active electrons from the total number of electrons (which in turn
60is derived from the sum of the nuclear charges minus the total system
61charge).
62
63\section{{\tt MULTIPLICITY}}
64
65The spin multiplicity must be specified and is enforced by projection
66of the determinant wavefunction.
67
68E.g., to obtain a triplet state
69\begin{verbatim}
70  multiplicity 3
71\end{verbatim}
72
73\section{{\tt SYMMETRY} --- Spatial symmetry of the wavefunction}
74
75This species the irreducible representation of the wavefunction as an
76integer in the range 1---8 using the same numbering of representations
77as output by the SCF program.  Note that only Abelian point groups are
78supported.
79
80E.g., to specify a $B_1$ state when using the $C_{2v}$ group
81\begin{verbatim}
82  symmetry 3
83\end{verbatim}
84
85\section{{\tt STATE} --- Symmetry and multiplicity}
86
87The electronic state (spatial symmetry and multiplicity) may
88alternatively be specified using the conventional notation for an
89electronic state, such as $^3B_2$ for a triplet state of $B_2$
90symmetry.  This would be accomplished with the input
91\begin{verbatim}
92  state 3b2
93\end{verbatim}
94which is equivalent to
95\begin{verbatim}
96  symmetry 4
97  multiplicity 3
98\end{verbatim}
99
100\section{{\tt VECTORS} --- Input/output of MO vectors}
101\label{sec:mcscfvectors}
102
103Calculations are best started from RHF/ROHF molecular orbitals (see
104Section \ref{sec:scf}), and by default vectors are taken from the
105previous MCSCF or SCF calculation.  To specify another input file use
106the \verb+VECTORS+ directive.  Vectors are by default output to the
107input file, and may be redirected using the \verb+output+ keyword.
108The \verb+swap+ keyword of the \verb+VECTORS+ directive may be
109used to reorder orbitals to obtain the correct active space.
110See Section \ref{sec:vectors} for an example.
111
112The \verb+LOCK+ keyword allows the user to specify that the ordering
113of orbitals will be locked to that of the initial vectors, insofar as
114possible. The default is to order by ascending orbital energies within
115each orbital space. One application where locking might be desirable
116is a calculation where it is necessary to preserve the ordering of a
117previous geometry, despite flipping of the orbital energies.  For such
118a case, the \verb+LOCK+ directive can be used to prevent the SCF
119calculation from changing the ordering, even if the orbital energies
120change.
121
122Output orbitals of a converged MCSCF calculation are canonicalized as
123follows:
124\begin{itemize}
125\item Doubly occupied and unoccupied orbitals diagonalize the
126  corresponding blocks of an effective Fock operator.  Note that in
127  the case of degenerate orbital energies this does not fully
128  determine the orbtials.
129\item Active-space orbitals are chosen as natural orbitals by
130  diagonalization of the active space 1-particle density matrix.
131  Note that in the case of degenerate occupations that this
132  does not fully determine the orbitals.
133\end{itemize}
134
135\section{{\tt HESSIAN} --- Select preconditioner}
136\label{sec:mcscfhessian}
137
138The MCSCF will use a one-electron approximation to the orbital-orbital
139Hessian until some degree of convergence is obtained, whereupon it
140will attempt to use the exact orbital-orbital Hessian which makes the
141micro iterations more expensive but potentially reduces the total
142number of macro iterations.  Either choice may be forced throughout
143the calculation by specifying the appropriate keyword on the
144\verb+HESSIAN+ directive.
145
146E.g., to specify the one-electron approximation throughout
147\begin{verbatim}
148  hessian onel
149\end{verbatim}
150
151\section{{\tt LEVEL} --- Level shift for convergence}
152
153The Hessian (Section \ref{sec:mcscfhessian}) used in the MCSCF
154optimization is by default level shifted by 0.1 until the orbital
155gradient norm falls below 0.01, at which point the level shift is
156reduced to zero.  The initial value of $0.1$ may be changed using
157the \verb+LEVEL+ directive.  Increasing the level shift may make
158convergence more stable in some instances.
159
160E.g., to set the initial level shift to 0.5
161\begin{verbatim}
162  level 0.5
163\end{verbatim}
164
165\section{{\tt PRINT} and {\tt NOPRINT}}
166
167Specific output items can be selectively enabled or disabled using the
168\verb+print+ control mechanism~(\ref{sec:printcontrol}) with the
169available print options listed in table(\ref{MCSCF_print_options}).
170
171\begin{table}[htb]
172
173\label{MCSCF_print_options}
174
175\center
176
177\vspace{.2in}
178\begin{tabular}{lrl}
179\hline\hline
180Option                          & Class    &  Synopsis \\
181\hline
182\verb+ci energy+                & default  &  CI energy eigenvalue \\
183\verb+fock energy+              & default  &  Energy derived from Fock matrices \\
184\verb+gradient norm+            & default  &  Gradient norm \\
185\verb+movecs+                   & default  &  Converged occupied MO vectors \\
186\verb+trace energy+             & high     &  Trace Energy \\
187\verb+converge info+            & high     &  Convergence data and monitoring \\
188\verb+precondition+             & high     &  Orbital preconditioner iterations \\
189\verb+microci+                  & high     &  CI iterations in line search \\
190\verb+canonical+                & high     &  Canonicalization information \\
191\verb+new movecs+               & debug    &  MO vectors at each macro-iteration \\
192\verb+ci guess+                 & debug    &  Initial guess CI vector \\
193\verb+density matrix+           & debug    &  One- and Two-particle density matrices \\
194\hline\hline
195\end{tabular}
196
197\caption{MCSCF Print Options}
198
199\end{table}
200
201
202