~ubuntu-branches/ubuntu/vivid/psicode/vivid

« back to all changes in this revision

Viewing changes to doc/userman/detcas.tex

  • Committer: Bazaar Package Importer
  • Author(s): Michael Banck
  • Date: 2008-06-07 16:49:57 UTC
  • mfrom: (2.1.2 hardy)
  • Revision ID: james.westby@ubuntu.com-20080607164957-8pifvb133yjlkagn
Tags: 3.3.0-3
* debian/rules (DEB_MAKE_CHECK_TARGET): Do not abort test suite on
  failures.
* debian/rules (DEB_CONFIGURE_EXTRA_FLAGS): Set ${bindir} to /usr/lib/psi.
* debian/rules (install/psi3): Move psi3 file to /usr/bin.
* debian/patches/07_464867_move_executables.dpatch: New patch, add
  /usr/lib/psi to the $PATH, so that the moved executables are found.
  (closes: #464867)
* debian/patches/00list: Adjusted.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
\subsection{Complete-Active-Space Self-Consistent-Field (CASSCF)} \label{casscf}
2
2
                                                                                
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.
13
 
 
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.
 
24
 
 
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.
 
38
 
 
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.
 
47
 
 
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.
 
52
 
 
53
See the {\tt casscf-sp} and {\tt casscf-sa-sp} examples in the 
 
54
\file{tests} directory and the example below.
20
55
 
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).
58
122
\end{description}
59
123
 
 
124
\subsubsection{Examples}
 
125
\begin{figure}[h!]
 
126
\begin{verbatim}
 
127
% 6-31G** H2O Test CASSCF Energy Point
 
128
                                                                                
 
129
psi: (
 
130
  label = "6-31G** CASSCF H2O"
 
131
  jobtype = sp
 
132
  wfn = casscf
 
133
  reference = rhf
 
134
  restricted_docc = (1 0 0 0)
 
135
  active          = (3 0 1 2)
 
136
  basis = "6-31G**"
 
137
  zmat = (
 
138
    o
 
139
    h 1 1.00
 
140
    h 1 1.00 2 103.1
 
141
  )
 
142
)
 
143
\end{verbatim}
 
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}
 
147
\end{figure}
 
148