1%
2% $Id$
3%
4\label{sec:scf}
5
6The NWChem self-consistent field (SCF) module computes closed-shell
7restricted Hartree-Fock (RHF) wavefunctions, restricted high-spin
8open-shell Hartree-Fock (ROHF) wavefunctions, and spin-unrestricted
9Hartree-Fock (UHF) wavefunctions.
10
11The \verb+SCF+ directive provides input to the SCF module and is a
12compound directive that encloses additional directives specific to the
13SCF module:
14\begin{verbatim}
15  SCF
16    ...
17  END
18\end{verbatim}
19
20\section{Wavefunction type}
21
22A spin-restricted, closed shell RHF calculation is performed by
23default.  An error results if the number of electrons is inconsistent
24with this assumption.  The number of electrons is inferred from the
25total charge on the system and the sum of the effective nuclear
26charges of all centers (atoms and dummy atoms, Section
27\ref{sec:geom}).  The total charge on the system is zero by default,
28unless specified at some value by input on the \verb+CHARGE+ directive
29(Section \ref{sec:toplevel}).
30
31The options available to define the SCF wavefunction and multiplicity
32are as follows:
33
34\begin{verbatim}
35  SINGLET
36  DOUBLET
37  TRIPLET
38  QUARTET
39  QUINTET
40  SEXTET
41  SEPTET
42  OCTET
43  NOPEN <integer nopen default 0>
44  RHF
45  ROHF
46  UHF
47\end{verbatim}
48
49The optional keywords \verb+SINGLET+, \verb+DOUBLET+, \ldots,
50\verb+OCTET+ and \verb+NOPEN+ allow the user to specify the number of
51singly occupied orbitals for a particular calculation.  \verb+SINGLET+
52is the default, and specifies a closed shell; \verb+DOUBLET+ specifies
53one singly occupied orbital; \verb+TRIPLET+ specifies two singly
54occupied orbitals; and so forth.  If there are more than seven singly
55occupied orbitals, the keyword \verb+NOPEN+ must be used, with the
56integer \verb+nopen+ defining the number of singly occupied
57orbitals (sometimes referred to as open shells).
58
59If the multiplicity is any value other than \verb+SINGLET+, the
60default calculation will be a spin-restricted, high-spin, open-shell
61SCF calculation (keyword ROHF).  The open-shell orbitals must be the
62highest occupied orbitals.  If necessary, any starting vectors may be
63rearranged through the use of the \verb+SWAP+ keyword on the
64\verb+VECTORS+ directive (see Section \ref{sec:vectors}) to accomplish
65this.
66
67A spin-unrestricted solution can also be performed by specifying the
68keyword \verb+UHF+.  In UHF calculations, it is assumed that the
69number of singly occupied orbitals corresponds to the difference
70between the number of alpha-spin and beta-spin orbitals.  For example,
71a UHF calculation with 2 more alpha-spin orbitals than beta-spin
72orbitals can be obtained by specifying
73
74\begin{verbatim}
75  scf
76     triplet ; uhf    # (Note: two logical lines of input)
77     ...
78  end
79\end{verbatim}
80
81The user should be aware that, by default, molecular orbitals are
82symmetry adapted in NWChem.  This may not be desirable for fully
83unrestricted wavefunctions.  In such cases, the user has the option of
84defeating the defaults by specifying the keywords \verb+ADAPT OFF+
85(see Section \ref{sec:adapt}) and \verb+SYM OFF+ (see Section
86\ref{sec:sym}).
87
88The keywords \verb+RHF+ and \verb+ROHF+ are provided in the code for
89completeness. It may be necessary to specify these in order to modify
90the behavior of a previous calculation (see Section \ref{sec:persist}
91for restart behavior).
92
93\section{{\tt SYM} --- use of symmetry}
94\label{sec:sym}
95
96 \begin{verbatim}
97   SYM <string (ON||OFF) default ON>
98 \end{verbatim}
99
100This directive enables/disables the use of symmetry to speed up Fock matrix
101construction (via the petite-list or skeleton algorithm) in the SCF, if
102symmetry was used in the specification of the geometry.  Symmetry
103adaptation of the molecular orbitals is not affected by this option.
104The default is to use symmetry if it is specified in the geometry
105directive (Section \ref{sec:geom}).
106
107For example, to disable use of symmetry in Fock matrix construction:
108\begin{verbatim}
109  sym off
110\end{verbatim}
111
112\section{{\tt ADAPT} -- symmetry adaptation of MOs}
113\label{sec:adapt}
114
115\begin{verbatim}
116  ADAPT <string (ON||OFF) default ON>
117\end{verbatim}
118
119The default in the SCF module calculation is to force symmetry
120adaption of the molecular orbitals. This does not affect the speed of
121the calculation, but without explicit adaption the resulting orbitals
122may be symmetry contaminated for some problems.  This is especially
123likely if the calculation is started using orbitals from a distorted
124geometry.
125
126The underlying assumption in the use of symmetry in Fock matrix
127construction is that the density is totally symmetric.  If the orbitals
128are symmetry contaminated, this assumption may not be valid --- which
129could result in incorrect energies and poor convergence of the
130calculation.  It is thus advisable when specifying \verb+ADAPT OFF+ to
131also specify \verb+SYM OFF+ (Section \ref{sec:sym}).
132
133\section{{\tt TOL2E} --- integral screening threshold}
134\label{sec:tol2e}
135
136\begin{verbatim}
137  TOL2E <real tol2e default min(10e-7 , 0.01*$thresh$)>
138\end{verbatim}
139
140The variable \verb+tol2e+ is used in determining the integral
141screening threshold for the evaluation of the energy and related
142Fock-like matrices.  The Schwarz inequality is used to screen the
143product of integrals and density matrices in a manner that results in
144an accuracy in the energy and Fock matrices that approximates the
145value specified for \verb+tol2e+.
146
147It is generally not necessary to set this parameter directly.  Specify
148instead the required precision in the wavefunction, using the
149\verb+THRESH+ directive (Section \ref{sec:thresh}). The default
150threshold is the minimum of $10^{-7}$ and 0.01 times the requested
151convergence threshold for the SCF calculation (Section
152\ref{sec:thresh}).
153
154The input to specify the threshold explicitly within the \verb+SCF+
155directive is, for example:
156
157\begin{verbatim}
158  tol2e 1e-9
159\end{verbatim}
160
161For very diffuse basis sets, or for high-accuracy calculations it
162might be necessary to set this parameter.  A value of $10^{-12}$ is
163sufficient for nearly all such purposes.
164
165\section{{\tt VECTORS} --- input/output of MO vectors}
166\label{sec:vectors}
167
168
169\begin{verbatim}
170  VECTORS [[input] (<string input_movecs default atomic>) || \
171                   (project <string basisname> <string filename>) || \
172                   (fragment <string file1> [<string file2> ...])] \
173          [swap [alpha||beta] <integer vec1 vec2> ...] \
174          [reorder <integer atom1 atom2> ...] \
175          [output <string output_filename default input_movecs>] \
176          [lock]
177          [rotate  <string input_geometry> <string input_movecs>]
178\end{verbatim}
179
180The \verb+VECTORS+ directive allows the user to specify the source and
181destination of the molecular orbital vectors.  In a startup
182calculation (see Section \ref{sec:start}), the default source for
183guess vectors is a diagonalized Fock matrix constructed from a
184superposition of the atomic density matrices for the particular
185problem.  This is usually a very good guess.  For a restarted
186calculation, the default is to use the previous MO vectors.
187
188The optional keyword \verb+INPUT+ allows the user to specify the
189source of the input molecular orbital vectors as any of the following:
190\begin{itemize}
191\item \verb+ATOMIC+ --- eigenvectors of a Fock-like matrix formed from
192  a superposition of the atomic densities (the default guess).  See
193  Sections \ref{sec:atomscf} and \ref{sec:tolguess}.
194\item \verb+HCORE+ --- eigenvectors of the bare-nucleus Hamiltonian or
195  the one-electron Hamiltonian.
196\item \verb+filename+ --- the name of a file containing the MO vectors
197  from a previous calculation.  Note that unless the path is fully
198  qualified, or begins with a dot (``.''), then it is assumed to
199  reside in the directory for permanent files (see Section
200  \ref{sec:dirs}).
201\item \verb+PROJECT basisname filename+ --- projects the existing MO
202  vectors in the file \verb+filename+ from the smaller basis with name
203  \verb+basisname+ into the current basis.  The definition of the
204  basis \verb+basisname+ must be available in the current database,
205  and the basis must be smaller than the current basis.  In addition,
206  the geometry used for the previous calculations must have the atoms
207  in the same order and in the same orientation as the current
208  geometry.
209\item \verb+FRAGMENT file1 ...+ --- assembles starting MO vectors from
210  previously performed calculations on fragments of the system and is
211  described in more detail in Section \ref{sec:fragguess}.  Even
212  though there are some significant restrictions in the use of the
213  initial implementation of this method (see Section
214  \ref{sec:fragguess}), this is the most powerful initial guess option
215  within the code.  It is particularly indispensable for open shell
216  metallic systems.
217\item \verb+ROTATE input_geometry input_movecs+ --- rotates
218   MO vectors generated at a previous geometry
219   to the current active geometry.
220\end{itemize}
221
222The molecular orbitals are saved every iteration if more than 600
223seconds have elapsed, and also at the end of the calculation.  At
224completion (converged or not), the SCF module always canonically
225transforms the molecular orbitals by {\em separately} diagonalizing
226the closed--closed, open--open, and virtual--virtual blocks of the
227Fock matrix.
228
229The name of the file used to store the MO vectors is determined as
230follows:
231\begin{itemize}
232\item if the \verb+OUTPUT+ keyword was specified on the \verb+VECTORS+
233  directive, then the filename that follows this keyword is used, or
234\item if the input vectors were read from a file, this file is reused
235  for the output vectors (overwriting the input vectors); else,
236\item a default file name is generated in the directory for permanent
237  files (Section \ref{sec:dirs}) by prepending \verb+".movecs"+ with
238  the file prefix, i.e., \verb+"<file_prefix>.movecs"+.
239\end{itemize}
240The name of this file is stored in the database so that a subsequent
241SCF calculation will automatically restart from these MO vectors.
242
243Applications of this directive are illustrated in the following
244examples.
245
246Example 1:
247\begin{verbatim}
248  vectors output h2o.movecs
249\end{verbatim}
250Assuming a start-up calculation, this directive will result in use of
251the default atomic density guess, and will output the vectors to the
252file \verb+h2o.movecs+.
253
254Example 2:
255\begin{verbatim}
256  vectors input initial.movecs output final.movecs
257\end{verbatim}
258This directive will result in the initial vectors being read from the
259file \verb+"initial.movecs"+.  The results will be written to the file
260\verb+final.movecs+.  The contents of \verb+"initial.movecs"+ will not
261be changed.
262
263Example 3:
264\begin{verbatim}
265  vectors input project "small basis" small.movecs
266\end{verbatim}
267This directive will cause the calculation to start from vectors in the
268file \verb+"small.movecs"+ which are in a basis named \verb+"small basis"+.
269The output vectors will be written to the default file
270\verb+"<file_prefix.movecs>"+.
271
272Once starting vectors have been obtained using any of the possible
273options, they may be reordered through use of the \verb+SWAP+ keyword.
274This optional keyword requires a list of orbital pairs that will be
275swapped.  For UHF calculations, separate \verb+SWAP+ keywords may be
276provided for the alpha and beta orbitals, as necessary.
277
278An example of use of the \verb+SWAP+ directive:
279\begin{verbatim}
280  vectors input try1.movecs swap 173 175 174 176 output try2.movecs
281\end{verbatim}
282This directive will cause the initial orbitals to be read from the
283file \verb+"try1.movecs"+.  The vectors for the orbitals within the
284pairs 173--175 will be swapped with those within 174--176, so the
285resulting order is 175, 176, 173, 174.  The final orbitals obtained in
286the calculation will be written to the file \verb+"try2.movecs"+.
287
288The swapping of orbitals occurs as a sequential process in the order
289(left to right) input by the user.  Thus, regarding each pair as an
290elementary transposition it is possible to construct arbitrary
291permutations of the orbitals.  For instance, to apply the permutation
292$(6 7 8 9)$\footnote{The cyclic permutation $(6 7 8 9)$ maps the
293  ordered list {\tt 6 7 8 9} into {\tt 9 6 7 8}.} we note that this
294permutation is equal to $(6 7)(7 8)(8 9)$, and thus may be specified
295as
296\begin{verbatim}
297  vectors swap 8 9  7 8  6 7
298\end{verbatim}
299
300Another example, now illustrating this feature for a UHF calculation,
301is the directive
302\begin{verbatim}
303  vectors swap beta 4 5 swap alpha 5 6
304\end{verbatim}
305This input will result in the swapping of the 5--6 alpha orbital pair
306and the 4--5 beta orbital pair.  (All other items in the input use the
307default values.)
308
309The \verb+LOCK+ keyword allows the user to specify that the ordering
310of orbitals will be locked to that of the initial vectors, insofar as
311possible. The default is to order by ascending orbital energies within
312each orbital space. One application where locking might be desirable
313is a calculation where it is necessary to preserve the ordering of a
314previous geometry, despite flipping of the orbital energies.  For such
315a case, the \verb+LOCK+ directive can be used to prevent the SCF
316calculation from changing the ordering, even if the orbital energies
317change.
318
319The mapping of the MO's to the nuclei can be changed using the \verb+REORDER+ keyword.
320Once starting vectors have been obtained using any of the possible
321options, the \verb+REORDER+ keyword moves the MO coefficients between atoms
322listed in the integer list.  This keyword is particularly useful for calculating localized
323electron and hole states.
324
325This optional keyword requires a list containing the new atom ordering.
326It is not necessary to provide separate lists for alpha and
327beta orbitals.
328
329An example of use of the \verb+REORDER+ keyword:
330\begin{verbatim}
331  vectors input try1.movecs reorder 2 1 output try2.movecs
332\end{verbatim}
333This directive will cause the initial orbitals to be read from the
334file \verb+"try1.movecs"+.  The MO coefficients for the basis functions
335on atom 2
336will be swapped with those on atom 1.
337The final orbitals obtained in
338the calculation will be written to the file \verb+"try2.movecs"+.
339
340The following example shows how the \verb+ROTATE+ keyword can be used to rotate
341MO vectors calculated at geometry \verb+geom1+ to geometry \verb+geom2+, which has a
342different rotational orientation:
343
344\begin{verbatim}
345set geometry geom1
346dft
347 vectors input atomic output geom1.mo
348end
349task dft
350
351set geometry geom2
352dft
353 vectors input rotate geom1 geom1.mo output geom2.mo
354end
355task dft
356
357\end{verbatim}
358\subsection{Superposition of fragment molecular orbitals}
359\label{sec:fragguess}
360
361The fragment initial guess is particularly useful in the following
362instances:
363\begin{itemize}
364\item The system naturally decomposes into molecules that can be
365  treated individually, e.g., a cluster.
366\item One or more fragments are particularly hard to converge and
367  therefore much time can be saved by converging them independently.
368\item A fragment (e.g., a metal atom) must be prepared with a specific
369  occupation.  This can often be readily accomplished with a
370  calculation on the fragment using dummy charges to model a ligand
371  field.
372\item The molecular occupation predicted by the atomic initial guess
373  is often wrong for systems with heavy metals which may have
374  partially occupied orbitals with lower energy than some doubly
375  occupied orbitals.  The fragment initial guess avoids this problem.
376\end{itemize}
377
378\begin{verbatim}
379  VECTORS [input] fragment <string file1> [<string file2> ...]
380\end{verbatim}
381The molecular orbitals are formed by superimposing the previously
382generated orbitals of fragments of the molecule being studied.  These
383fragment molecular orbitals must be in the same basis as the current
384calculation.  The input specifies the files containing the fragment
385molecular orbitals.  For instance, in a calculation on the water
386dimer, one might specify
387\begin{verbatim}
388  vectors fragment h2o1.movecs h2o2.movecs
389\end{verbatim}
390where \verb+h2o1.movecs+ contains the orbitals for the first fragment, and
391\verb+h2o2.movecs+ contains the orbitals for the second fragment.
392
393A complete example of the input for a calculation on the water
394dimer using the fragment guess is as follows:
395\begin{verbatim}
396   start dimer
397
398   title "Water dimer SCF using fragment initial guess"
399
400   geometry dimer
401     O   -0.595   1.165  -0.048
402     H    0.110   1.812  -0.170
403     H   -1.452   1.598  -0.154
404     O    0.724  -1.284   0.034
405     H    0.175  -2.013   0.348
406     H    0.177  -0.480   0.010
407   end
408
409   geometry h2o1
410     O   -0.595   1.165  -0.048
411     H    0.110   1.812  -0.170
412     H   -1.452   1.598  -0.154
413   end
414
415   geometry h2o2
416     O    0.724  -1.284   0.034
417     H    0.175  -2.013   0.348
418     H    0.177  -0.480   0.010
419   end
420
421   basis
422     o library 3-21g
423     h library 3-21g
424   end
425
426   set geometry h2o1
427   scf; vectors input atomic output h2o1.movecs; end
428   task scf
429
430   set geometry h2o2
431   scf; vectors input atomic output h2o2.movecs; end
432   task scf
433
434   set geometry dimer
435   scf
436   vectors input fragment h2o1.movecs h2o2.movecs \
437           output dimer.movecs
438   end
439   task scf
440\end{verbatim}
441First, the geometry of the dimer and the two monomers are specified
442and given names.  Then, after the basis specification, calculations
443are performed on the fragments by setting the geometry to the
444appropriate fragment (Section \ref{sec:set}) and redirecting the
445output molecular orbitals to an appropriately named file.  Note also
446that use of the atomic initial guess is forced, since the default
447initial guess is to use any existing MOs which would not be
448appropriate for the second fragment calculation.  Finally, the dimer
449calculation is performed by specifying the dimer geometry, indicating
450use of the fragment guess, and redirecting the output MOs.
451
452The following points are important in using the fragment initial guess:
453\begin{enumerate}
454\item The fragment calculations must be in the same basis set as the
455  full calculation.
456\item The order of atoms in the fragments and the order in which the
457  fragment files are specified must be such that when the fragment
458  basis sets are concatenated all the basis functions are in the same
459  order as in the full system.  This is readily accomplished by first
460  generating the full geometry with atoms for each fragment
461  contiguous, splitting this into numbered fragments and specifying
462  the fragment MO files in the correct order on the \verb+VECTORS+
463  directive.
464\item The occupation of orbitals is preserved when they are merged
465  from the fragments to the full molecule and the resulting occupation
466  must match the requested occupation for the full molecule.  E.g., a
467  triplet ROHF calculation must be comprised of fragments that have
468  a total of exactly two open-shell orbitals.
469\item Because of these restrictions, it is not possible to introduce
470  additional atoms (or basis functions) into fragments for the purpose
471  of cleanly breaking real bonds.  However, it is possible, and highly
472  recommended, to introduce additional point charges to simulate the
473  presence of other fragments.
474\item MO vectors of partially occupied or strongly polarized systems
475  are very sensitive to orientation.  While it is possible to specify
476  the same fragment MO vector file multiple times in the
477  \verb+VECTORS+ directive, it is usually much better to do a separate
478  calculation for each fragment.
479\item Linear dependencies which were present in a fragment calculation
480  may be magnified in the full calculation.  When this occurs,
481  some of the fragment's highest virtual orbitals will not be copied to the
482  full system, and a warning will be printed.
483
484\end{enumerate}
485
486A more involved example is now presented.  We wish to model the sextet
487state of Fe(III) complexed with water, imidazole and a heme with a net
488unit positive charge.  The default atomic guess does not give the
489correct $d^5$ occupation for the metal and also gives an incorrect
490state for the double anion of the heme.  The following performs
491calculations on all of the fragments.  Things to note are:
492\begin{enumerate}
493\item The use
494of a dummy $+2$ charge in the initial guess on the heme which in part
495simulates the presence of the metal ion, and also automatically forces
496an additional two electrons to be added to the system (the default net
497charge being zero).
498\item The iron fragment calculation (charge +3, $d^5$, sextet) will
499  yield the correct open-shell occupation for the full system.  If,
500  instead, the {\it d}-orbitals were partially occupied (e.g., the doublet
501  state) it would be useful to introduce dummy charges around the iron
502  to model the ligand field and thereby lift the degeneracy to obtain
503  the correct occupation.
504\item $C_s$ symmetry is used for all of the calculations.  It is not
505  necessary that the same symmetry be used in  all of the
506  calculations, provided that the order and orientation of the atoms
507  is preserved.
508\item The \verb+unset scf:*+ directive is used immediately before
509  the calculation on the full system so that the default name for the
510  output MO vector file can be used, rather than having to specify it
511  explicitly.
512\end{enumerate}
513\begin{verbatim}
514start heme6a1
515title  "heme-H2O (6A1) from M.Dupuis"
516
517############################################################
518# Define the geometry of the full system and the fragments #
519############################################################
520
521geometry full-system
522   symmetry cs
523
524   H     0.438   -0.002    4.549
525   C     0.443   -0.001    3.457
526   C     0.451   -1.251    2.828
527   C     0.452    1.250    2.828
528   H     0.455    2.652    4.586
529   H     0.461   -2.649    4.586
530   N1    0.455   -1.461    1.441
531   N1    0.458    1.458    1.443
532   C     0.460    2.530    3.505
533   C     0.462   -2.530    3.506
534   C     0.478    2.844    1.249
535   C     0.478    3.510    2.534
536   C     0.478   -2.848    1.248
537   C     0.480   -3.513    2.536
538   C     0.484    3.480    0.000
539   C     0.485   -3.484    0.000
540   H     0.489    4.590    2.664
541   H     0.496   -4.592    2.669
542
543   H     0.498    4.573    0.000
544   H     0.503   -4.577    0.000
545   H    -4.925    1.235    0.000
546   H    -4.729   -1.338    0.000
547   C    -3.987    0.685    0.000
548   N    -3.930   -0.703    0.000
549   C    -2.678    1.111    0.000
550   C    -2.622   -1.076    0.000
551   H    -2.284    2.126    0.000
552   H    -2.277   -2.108    0.000
553   N    -1.838    0.007    0.000
554
555   Fe    0.307    0.000    0.000
556
557   O     2.673   -0.009    0.000
558   H     3.238   -0.804    0.000
559   H     3.254    0.777    0.000
560end
561
562geometry ring-only
563   symmetry cs
564   H     0.438   -0.002    4.549
565   C     0.443   -0.001    3.457
566   C     0.451   -1.251    2.828
567   C     0.452    1.250    2.828
568   H     0.455    2.652    4.586
569   H     0.461   -2.649    4.586
570   N1    0.455   -1.461    1.441
571   N1    0.458    1.458    1.443
572   C     0.460    2.530    3.505
573   C     0.462   -2.530    3.506
574   C     0.478    2.844    1.249
575   C     0.478    3.510    2.534
576   C     0.478   -2.848    1.248
577   C     0.480   -3.513    2.536
578   C     0.484    3.480    0.000
579   C     0.485   -3.484    0.000
580   H     0.489    4.590    2.664
581   H     0.496   -4.592    2.669
582
583   Bq    0.307    0.0      0.0    charge 2  # simulate the iron
584end
585
586geometry imid-only
587   symmetry cs
588   H     0.498    4.573    0.000
589   H     0.503   -4.577    0.000
590   H    -4.925    1.235    0.000
591   H    -4.729   -1.338    0.000
592   C    -3.987    0.685    0.000
593   N    -3.930   -0.703    0.000
594   C    -2.678    1.111    0.000
595   C    -2.622   -1.076    0.000
596   H    -2.284    2.126    0.000
597   H    -2.277   -2.108    0.000
598   N    -1.838    0.007    0.000
599end
600
601geometry fe-only
602   symmetry cs
603   Fe    .307    0.000    0.000
604end
605
606geometry water-only
607   symmetry cs
608   O     2.673   -0.009    0.000
609   H     3.238   -0.804    0.000
610   H     3.254    0.777    0.000
611end
612
613############################
614# Basis set for everything #
615############################
616
617basis nosegment
618  O  library 6-31g*
619  N  library 6-31g*
620  C  library 6-31g*
621  H  library 6-31g*
622 Fe  library "Ahlrichs pVDZ"
623end
624
625##########################################################
626# SCF on the fragments for initial guess for full system #
627##########################################################
628
629scf; thresh 1e-2; end
630
631set geometry ring-only
632scf; vectors atomic swap 80 81 output ring.mo; end
633task scf
634
635set geometry water-only
636scf; vectors atomic output water.mo; end
637task scf
638
639set geometry imid-only
640scf; vectors atomic output imid.mo; end
641task scf
642
643charge 3
644set geometry fe-only
645scf; sextet; vectors atomic output fe.mo; end
646task scf
647
648##########################
649# SCF on the full system #
650##########################
651
652unset scf:*     # This restores the defaults
653
654charge 1
655
656set geometry full-system
657
658scf
659 sextet
660 vectors fragment ring.mo imid.mo fe.mo water.mo
661 maxiter 50
662end
663
664task scf
665\end{verbatim}
666
667\subsection{Atomic guess orbitals with charged atoms}
668\label{sec:atomscf}
669
670As noted above, the default guess vectors are based on superimposing
671the density matrices of the neutral atoms.  If some atoms are
672significantly charged, this default guess may be improved upon by
673modifying the atomic densities.  This is done by setting parameters
674that add fractional charges to the occupation of the valence atomic
675orbitals.  Since the atomic SCF program does not have its own input
676block, the \verb+SET+ directive (Section \ref{sec:set}) must be used
677to set these parameters.
678
679The input specifies a list of tags (i.e., names of atoms in a
680geometry, see Section \ref{sec:geom}) and the charges to be added to
681those centers.  Two parameters must be set as follows:
682\begin{verbatim}
683  set atomscf:tags_z <string list_of_tags>
684  set atomscf:z      <real list_of_charges>
685\end{verbatim}
686
687\sloppy
688
689The array of strings \verb+atomscf:tags_z+ should be set to the list
690of tags, and the array \verb+atomscf:z+ should be set to the list of
691charges which must be real numbers (not integers).  All atoms that
692have a tag specified in the list of tags will be assigned the
693corresponding charge from the list of charges.
694
695\fussy
696
697For example, the following specifies that all oxygen atoms with tag
698\verb+O+ be assigned a charge of \verb+-1+ and all iron atoms with tag
699\verb+Fe+ be assigned a charge of \verb=+2=
700\begin{verbatim}
701  set atomscf:z        -1  2.0
702  set atomscf:tags_z    O  Fe
703\end{verbatim}
704
705There are some limitations to this feature.  It is not possible to add
706electrons to closed shell atoms, nor is it possible to remove all
707electrons from a given atom.  Attempts to do so will cause the code to
708report an error, and it will not report further errors in the input
709for modifying the charge even when they are detected.
710
711Finally, recall that the database is persistent (Section
712\ref{sec:persist}) and that the modified settings will be used in
713subsequent atomic guess calculations unless the data is deleted from
714the database with the \verb+UNSET+ directive (Section
715\ref{sec:unset}).
716
717\section{Accuracy of initial guess}
718\label{sec:tolguess}
719
720For SCF, the initial Fock-matrix construction from the atomic guess is
721now (staring from version 3.3) performed to a default precision of
7221e-7.  However, other wavefunctions, notably DFT, use a lower
723precision.  In charged, or diffuse basis sets, this precision may not
724be sufficient and could result in incorrect ordering of the initial
725orbitals.  The accuracy may be increased with the following directive
726which should be inserted in the top-level of input (i.e., outside of
727the SCF input block) and before the {\tt TASK} directive.
728\begin{verbatim}
729  set tolguess 1e-7
730\end{verbatim}
731
732\section{{\tt THRESH} --- convergence threshold}
733\label{sec:thresh}
734
735\begin{verbatim}
736  THRESH  <real thresh default 1.0e-4>
737\end{verbatim}
738
739This directive specifies the convergence threshold for the
740calculation.  The convergence threshold is the norm of the orbital
741gradient, and has a default value in the code of $10^{-4}$.
742
743The norm of the orbital gradient corresponds roughly to the precision
744available in the wavefunction, and the energy should be converged to
745approximately the square of this number.  It should be noted, however,
746that the precision in the energy will not exceed that of the integral
747screening tolerance.  This tolerance (Section \ref{sec:tol2e}) is
748automatically set from the convergence threshold, so that sufficient
749precision is usually available by default.
750
751The default convergence threshold suffices for most SCF energy and
752geometry optimization calculations, providing about 6--8 decimal
753places in the energy, and about four significant figures in the
754density and energy derivative with respect to nuclear coordinates.
755However, greater precision may be required for calculations involving
756weakly interacting systems, floppy molecules, finite-difference of
757gradients to compute the Hessian, and for post-Hartree-Fock
758calculations.  A threshold of $10^{-6}$ is adequate for most such
759purposes, and a threshold of $10^{-8}$ might be necessary for very
760high accuracy or very weak interactions.  A threshold of $10^{-10}$
761should be regarded as the best that can be attained in most
762circumstances.
763
764\section{{\tt MAXITER} --- iteration limit}
765\label{sec:max}
766
767\begin{verbatim}
768  MAXITER <integer maxiter default 8>
769\end{verbatim}
770
771\sloppy
772
773The maximum number of iterations for the SCF calculation defaults to
77420 for both ROHF/RHF and UHF calculations.  For most molecules, this
775number of iterations is more than sufficient for the quadratically
776convergent SCF algorithm to obtain a solution converged to the default
777threshold (see Section \ref{sec:thresh} above).  If the SCF program
778detects that the quad\-ratically con\-ver\-gent algorithm is not
779efficient, then it will resort to a lin\-early con\-ver\-gent
780algorithm and increase the maximum number of iterations by 10.
781
782\fussy
783
784Convergence may not be reached in the maximum number of iterations for
785many reasons, including input error (e.g., an incorrect geometry or a
786linearly dependent basis), a very low convergence threshold, a poor
787initial guess, or the fact that the system is intrinsically hard to
788converge due to the presence of many states with similar energies.
789
790The following sets the maximum number of SCF iterations to 50:
791\begin{verbatim}
792  maxiter 50
793\end{verbatim}
794
795\section{{\tt PROFILE} --- performance profile}
796
797This directive allows the user to obtain timing and parallel
798execution information about the SCF module.  It is specified by the
799simple keyword
800
801\begin{verbatim}
802  PROFILE
803\end{verbatim}
804
805This option can be helpful in understanding the computational
806performance of an SCF calculation.  However,
807it can introduce a significant overhead
808on machines that have expensive timing routines, such as the SUN.
809
810\section{{\tt DIIS} --- DIIS convergence}
811
812This directive allows the user to specify DIIS convergence rather than
813second-order convergence for the SCF calculation.  The form of the
814directive is as follows:
815
816\begin{verbatim}
817  DIIS
818\end{verbatim}
819
820The implementation of this option is currently fairly rudimentary.  It
821does not have level-shifting and damping, and does not support open
822shells or UHF.  It is provided on an ``as is'' basis, and should be
823used with caution.
824
825When the \verb+DIIS+ directive is specified in the input, the user has
826the additional option of specifying the size of the subspace for the
827DIIS extrapolation.  This is accomplished with the \verb+DIISBAS+
828directive, which is of the form:
829\begin{verbatim}
830  DIISBAS <integer diisbas default 5>
831\end{verbatim}
832The default of 5 should be adequate for most applications, but may be
833increased if convergence is poor.  On large systems, it may be necessary
834to specify a lower value for \verb+diisbas+, to conserve memory.
835
836\section{{\tt DIRECT} and {\tt SEMIDIRECT} --- recomputation of integrals}
837\label{sec:semidirect}
838
839In the context of SCF calculations direct means that all integrals are
840recomputed as required and none are stored.  The other extreme are
841disk- or memory-resident (sometimes termed conventional) calculations
842in which all integrals are computed once and stored.  Semi-direct
843calculations are between these two extremes with some integrals being
844precomputed and stored, and all other integrals being recomputed as
845necessary.
846
847The default behavior of the SCF module is
848\begin{itemize}
849\item If enough memory is available, the integrals are computed once
850  and are cached in memory.
851\item If there is not enough memory to store all the integrals at
852  once, then 95\% of the available disk space in the scratch directory
853  (see Section \ref{sec:dirs}) is assumed to be available for this
854  purpose, and as many integrals as possible are cached on disk (with
855  no memory being used for caching).  Some attempt is made to store
856  the most expensive integrals in the cache.
857 \item If there is not enough room in memory or on disk for all the
858   integrals, then the ones that are not cached are recomputed in a
859   semidirect fashion.
860\end{itemize}
861
862The integral file is deleted at the end of a calculation, so it is not
863possible to restart a semidirect calculation when the integrals are
864cached in memory or on disk.  Many computer systems (e.g., the EMSL
865IBM SP) clear the fast scratch space at the end of each job, adding a
866further complication to the problem of restarting a {\em parallel}
867semidirect calculation.
868
869%Under some situations, it is possible to
870%restart from integrals on disk, but this capability will not be made
871%widely available until a later date.
872
873On the IBM SP or any other computer with fast disks local to each
874processor, semidirect calculation offers the best behavior.  It can
875result in {\em quadratic speedup} as more processors are added.
876
877A fully direct calculation (with recomputation of the integrals at
878each iteration) is forced by specifying the directive
879
880\begin{verbatim}
881  DIRECT
882\end{verbatim}
883
884Alternatively, the \verb+SEMIDIRECT+ directive can be used to control
885the default semidirect calculation by defining the amount of disk
886space and the cache memory size.  The form of this directive is as
887follows:
888
889\begin{verbatim}
890   SEMIDIRECT [filesize <integer filesize default disksize>]
891              [memsize  <integer memsize default available>]
892              [filename <string filename default $file_prefix.aoints$>]
893\end{verbatim}
894
895The keyword \verb+FILESIZE+ allows the user to specify the amount of
896disk space to be used per process for storing the integrals in 64-bit
897words.  Similarly, the keyword \verb+MEMSIZE+ allows the user to
898specify the number of 64-bit words to be used per process for caching
899integrals in memory. (Note: If the amount of storage space specified
900by the entry for \verb+memsize+ is not available, the code cuts the
901value in half and checks again for available space.  This process is
902repeated until the request is satisfied.)
903
904By default, the integral files are placed into the scratch directory
905(see Section \ref{sec:dirs}). Specifying the keyword \verb+FILENAME+
906overrides this default.  The user-specified name entered in the string
907\verb+filename+ has the process number appended to it, so that each
908process has a distinct file but with a common base-name and directory.
909Therefore, it is not possible to use this keyword to specify different
910disks for different processes.  The \verb+SCRATCH_DIR+ directive (see
911Section \ref{sec:dirs}) can be used for this purpose.
912
913For example, to force full recomputation of all integrals:
914\begin{verbatim}
915  direct
916\end{verbatim}
917
918Exactly the same result could be obtained by entering the directive:
919\begin{verbatim}
920  semidirect filesize 0 memsize 0
921\end{verbatim}
922
923To disable the use of memory for caching integrals and limit disk
924usage by each process to 100 megawords (MW):
925\begin{verbatim}
926  semidirect memsize 0 filesize 100000000
927\end{verbatim}
928
929The integral records are typically 32769 words long and any non-zero
930value for \verb+filesize+ or \verb+memsize+ should be enough to hold
931at least one record.
932
933
934\subsection{Integral File Size and Format for the SCF Module}
935
936The file format is rather complex, since it accommodates a variety of
937packing and compression options and the distribution of data.  This
938section presents some information that may help the user understand
939the output, and illustrates how to use the output information to
940estimate file sizes.
941
942If integrals are stored with a threshold of greater than $10^{-10}$,
943then the integrals are stored in a 32-bit fixed-point format (with
944appropriate treatment for large values to retain precision).  If
945integrals are stored with a threshold less than $10^{-10}$, however,
946the values are stored in 64-bit floating-point format.  If a
947replicated-data calculation is being run, then 8 bits are used for
948each basis function label, unless there are more than 256 functions,
949in which case 16 bits are used.  If distributed data is being used,
950then the labels are always packed to 8 bits (the distributed blocks
951always being less than 256; labels are relative to the start of the
952block).
953
954Thus, the number ($W$) of 64-bit words required to store $N$
955integrals, may be computed as
956\begin{displaymath}
957  W = \left\{ \\
958      \begin{array}{c}
959        N \mbox{ , 8-bit labels and 32-bit values} \\
960        \frac{3}{2}N \mbox{ , 16-bit labels and 32-bit values} \\
961        \frac{3}{2}N \mbox{ , 8-bit labels and 64-bit values} \\
962        2N \mbox{ , 16-bit labels and 64-bit values}
963      \end{array}
964      \right.
965\end{displaymath}
966
967The actual number of words required can
968exceed this computed value by up to one percent, due to
969bookkeeping overhead, and because the file itself is
970organized into fixed-size records.
971
972With at least the default print level, all semidirect (not direct)
973calculations will print out information about the integral file and
974the number of integrals computed.  The form of this output is as
975follows:
976
977\begin{verbatim}
978 Integral file          = ./c6h6.aoints.0
979 Record size in doubles =  32769        No. of integs per rec  =  32768
980 Max. records in memory =      3        Max. records in file   =      5
981 No. of bits per label  =      8        No. of bits per value  =     32
982
983 #quartets = 2.0D+04  #integrals = 7.9D+05  direct = 63.6%  cached = 36.4%
984\end{verbatim}
985
986The file information above relates only to process 0.  The line of
987information about the number of quartets, integrals, etc., is a sum
988over all processes.
989
990When the integral file is closed, additional information of the following
991form is printed:
992
993\begin{verbatim}
994------------------------------------------------------------
995EAF file 0: "./c6h6.aoints.0" size=262152 bytes
996------------------------------------------------------------
997               write      read    awrite     aread      wait
998               -----      ----    ------     -----      ----
999     calls:        6        12         0         0         0
1000   data(b): 1.57e+06  3.15e+06  0.00e+00  0.00e+00
1001   time(s): 1.09e-01  3.12e-02                      0.00e+00
1002rate(mb/s): 1.44e+01  1.01e+02
1003------------------------------------------------------------
1004
1005 Parallel integral file used       4 records with       0 large values
1006\end{verbatim}
1007Again, the detailed file information relates just to process 0, but
1008the final line indicates the total number of integral records stored
1009by all processes.
1010
1011This information may be used to optimize subsequent calculations, for
1012instance by assigning more memory or disk space.
1013
1014\section{SCF Convergence Control Options}
1015\label{sec:scfconv}
1016
1017{\em Note to users:} It is desired that the SCF program converge
1018reliably with the default options for a wide variety of molecules.  In
1019addition, it should be guaranteed to converge for any system, with
1020sufficient iterations.  Please report significant convergence problems
1021to \verb+nwchem+-\verb+support@+\-\verb+emsl.pnl.gov+, and include the
1022input file.
1023
1024% An understanding of the output of the SCF program and the options
1025% controlling convergence requires some knowledge of the convergence
1026% scheme.
1027
1028The SCF program uses a preconditioned conjugate gradient (PCG) method
1029that is unconditionally convergent.  Basically, a search direction is
1030generated by multiplying the orbital gradient (the derivative of the
1031energy with respect to the orbital rotations) by an approximation to
1032the inverse of the level-shifted orbital Hessian.  In the initial
1033iterations (see Section \ref{sec:nrswitch}), an inexpensive
1034one-electron approximation to the inverse orbital Hessian is used.
1035Closer to convergence, the full orbital Hessian is used, which should
1036provide quadratic convergence.  For both the full or one-electron
1037orbital Hessians, the inverse-Hessian matrix-vector product is formed
1038iteratively.  Subsequently, an approximate line search is performed
1039along the new search direction.  If the exact Hessian is being
1040employed, then the line search should require a single step (of
1041unity).  Preconditioning with approximate Hessians may require
1042additional steps, especially in the initial iterations.  It is the
1043(approximate) line search that provides the convergence guarantee.
1044The iterations required to solve the linear equations are referred to
1045as micro-iterations.  A macro-iteration comprises both the iterative
1046solution and a line search.
1047
1048Level-shifting plays the same role in this algorithm as
1049it does in the conventional iterative solution of the SCF equations.
1050The approximate Hessian used for preconditioning should be positive
1051definite.  If this is not the case, then level-shifting by a positive
1052constant ($\Delta$) serves to make the preconditioning matrix positive
1053definite, by adding $\Delta$ to all of its eigenvalues.  The
1054level-shifts employed for the RHF orbital Hessian should be
1055approximately four times (only twice for UHF) the value that one would
1056employ in a conventional SCF\footnote{This can be seen by considering
1057  a one-electron approximation to the closed-shell RHF Hessian in
1058  canonical orbitals, $A_{ia,jb} = 4 \delta_{ij} \delta_{ab}
1059  (\epsilon_a - \epsilon_i)$.  Similarly, the level shift
1060  should be twice as large for UHF.}.  Level-shifting is automatically enabled
1061in the early iterations, and the default options suffice for most test
1062cases.
1063
1064So why do things go wrong and what can be done to fix convergence
1065problems?  Most problems encountered so far arise either poor initial
1066guesses or from small or negative eigenvalues of the orbital Hessian.
1067The atomic orbital guess is usually very good.  However, in
1068calculations on charged systems, especially with open shells,
1069incorrect initial occupations may result.  The SCF might then converge
1070very slowly since very large orbital rotations might be required to
1071achieve the correct occupation or move charge large distances in the
1072molecule.  Possible actions are
1073\begin{itemize}
1074\item Modify the atomic guess by assigning charges to the atoms
1075  known to carry substantial charges (Section \ref{sec:atomscf})
1076\item Examining an analysis of the initial orbitals (Section
1077  \ref{sec:scfprint}) and then swapping them to attain the desired
1078  occupation (Section \ref{sec:vectors}).
1079\item Converging the calculation in a minimal basis set, which is
1080  usually easier, and then projecting into a larger basis set (Section
1081  \ref{sec:vectors}).
1082\item Using the fragment orbital initial guess (Section
1083  \ref{sec:fragguess}).
1084\end{itemize}
1085
1086Small or negative Hessian eigenvalues can occur even though the
1087calculation seem to be close to convergence (as measured by the
1088gradient norm, or the off-diagonal Fock matrix elements).  Small
1089eigenvalues will cause the iterative linear equation solver to
1090converge slowly, resulting in an excessive number of micro-iterations.
1091This makes the SCF expensive in terms of computation time, and it is
1092possible to exceed the maximum number of iterations without achieving
1093the accuracy required for quadratic convergence --- which causes more
1094macro-iterations to be performed.
1095
1096Two main options are available when a problem will not converge:
1097Newton-Raphson can be disabled temporarily or permanently (see Section
1098\ref{sec:nrswitch}), and level-shifting can be applied to the matrix
1099(see Section \ref{sec:level}).  In some cases, both options may be
1100necessary to achieve final convergence.
1101
1102If there is reason to suspect a negative eigenvalue, the first course
1103is to disable the Newton-Raphson iteration until the solution is
1104closer to convergence.  It may be necessary to disable it completely.
1105At some point close to convergence, the Hessian will be positive
1106definite, so disabling Newton-Raphson should yield a solution with
1107approximately the same convergence rate as DIIS.
1108
1109If temporarily disabling Newton-Raphson is not sufficient to achieve
1110convergence, it may be necessary to disable it entirely and apply a
1111small level-shift to the approximate Hessian.  This should improve the
1112convergence rate of the micro-iterations and stabilize the
1113macro-iterations.  The level-shifting will destroy exact quadratic
1114convergence, but the optimization process is automatically adjusted to
1115reflect this by enforcing conjugacy and reducing the accuracy to which
1116the linear equations are solved.  The net result of this is that the
1117solution will do more macro-iterations, but each one should take less
1118time than it would with the unshifted Hessian.
1119
1120The following sections describe the directives needed to disable the
1121Newton-Raphson iteration and specify level-shifting.
1122
1123\section{{\tt NR} --- controlling the Newton-Raphson}
1124\label{sec:nrswitch}
1125
1126\begin{verbatim}
1127    NR <real nr_switch default 0.1>
1128\end{verbatim}
1129
1130The exact orbital Hessian is adopted as the preconditioner when the
1131maximum element of the orbital gradient is below the value specified
1132for \verb+nr_switch+.  The default value is 0.1, which means that
1133Newton-Raphson will be disabled until the maximum value of the orbital
1134gradient (twice the largest off-diagonal Fock matrix element) is less
1135than 0.1.   To disable the Newton-Raphson entirely, the
1136value of \verb+nr_switch+ must be set to zero.  The directive to accomplish
1137this is as follows:
1138\begin{verbatim}
1139  nr 0
1140\end{verbatim}
1141
1142\section{{\tt LEVEL} --- level-shifting the orbital Hessian}
1143\label{sec:level}
1144
1145This directive allows the user to specify level-shifting to obtain a
1146positive-definite preconditioning matrix for the SCF solution
1147procedure.  Separate level shifts can be set for the first-order
1148convergent one-electron approximation to the Hessian used with the
1149preconditioned conjugate gradient (PCG) method, and for the full
1150Hessian used with the Newton-Raphson (NR) approach.  It is also
1151possible to change the level-shift automatically as the solution
1152attains some specified accuracy.  The form of the directive is as
1153follows:
1154\begin{verbatim}
1155   LEVEL [pcg <real initial default 20.0> \
1156           [<real tol default 0.5> <real final default 0.0>]] \
1157         [nr <real initial default 0.0> \
1158           [<real tol default 0.0> <real final default 0.0>]]
1159\end{verbatim}
1160
1161This directive contains only two keywords: one for the PCG method and
1162the other for the exact Hessian (Newton Raphson, or NR).  Use of PCG
1163or NR is determined by the input specified for \verb+nr_switch+ on the
1164\verb+NR+ directive, Section \ref{sec:nrswitch} above.
1165
1166Specifying the keyword \verb+pcg+ on the \verb+LEVEL+ directive allows
1167the user to define the level shifting for the approximate (i.e., PCG)
1168method.  Specifying the keyword \verb+nr+ allows the user to define
1169the level shifting for the exact Hessians.  In both options, the
1170initial level shift is defined by the value specified for the variable
1171\verb+initial+.  Optionally, \verb+tol+ can be specified independently
1172with each keyword to define the level of accuracy that must be
1173attained in the solution before the level shifting is changed to the
1174value specified by input in the real variable \verb+final+.  Level
1175shifts and gradient thresholds are specified in atomic units.
1176
1177For the PCG method (as specified using the keyword \verb+pcg+), the
1178defaults for this input are 20.0 for \verb+initial+, 0.5 for
1179\verb+tol+, and 0.0 for \verb+final+.  This means that the
1180approximate Hessian will be shifted by 20.0 until the maximum element
1181of the gradient falls below 0.5, at which point the shift will be set
1182to zero.
1183
1184For the exact Hessian (as specified using the keyword \verb+nr+), the
1185defaults are all zero.  The exact Hessian is usually not shifted since
1186this destroys quadratic convergence.  An example of an input directive
1187that applies a shift of 0.2 to the exact Hessian is as follows:
1188\begin{verbatim}
1189  level nr 0.2
1190\end{verbatim}
1191
1192To apply this shift to the exact Hessian only until the maximum
1193element of the gradient falls below 0.005, the required input
1194directive is as follows:
1195\begin{verbatim}
1196  level nr 0.2 0.005 0
1197\end{verbatim}
1198
1199Note that in both of these examples, the parameters for the PCG method
1200are at the default values.  To obtain values different from the
1201defaults, the keyword \verb+pcg+ must also be specified.  For example,
1202to specify the level shifting in the above example for the exact
1203Hessian {\em and} non-default shifting for the PCG method, the
1204directive would be something like the following:
1205\begin{verbatim}
1206  level pcg 20 0.3 0.0 nr 0.2 0.005 0.0
1207\end{verbatim}
1208
1209This input will cause the PCG method to be level-shifted by 20.0 until
1210the maximum element of the gradient falls below 0.3, then the shift
1211will be zero.  For the exact Hessian, the level shifting is initially
12120.2, until the maximum element falls below 0.005, after which the
1213shift is zero.
1214
1215The default options correspond to
1216\begin{verbatim}
1217  level pcg 20 0.5 0 nr 0 0 0
1218\end{verbatim}
1219
1220\section{Orbital Localization}
1221\label{orbloc}
1222The SCF module includes an {\em experimental} implementation of
1223orbital localization, including Foster-Boys and Pipek-Mezey which only
1224works for closed-shell (RHF) wavefunctions. There is currently no
1225input in the SCF block to control this so the \verb+SET+ directive
1226(Section \ref{sec:set}) must be used.
1227
1228The directive
1229\begin{verbatim}
1230  set scf:localize t
1231\end{verbatim}
1232will separately localize the core, valence, and virtual orbital spaces
1233using the Pipek-Mezey algorithm.  If the additional directive
1234\begin{verbatim}
1235  set scf:loctype FB
1236\end{verbatim}
1237is included, then the Foster-boys algorithm is used.  The partitioning
1238of core-orbitals is performed using the atomic information described
1239in Section \ref{mp2:core}.
1240
1241In the next release, this functionality will be extended to included all
1242wavefunctions using molecular orbitals.
1243
1244
1245\newpage
1246\section{Printing Information from the SCF Module}
1247\label{sec:scfprint}
1248
1249All output from the SCF module is controlled using the \verb+PRINT+
1250directive described in Section \ref{sec:printcontrol}.  The following
1251list describes the items from SCF that are currently under direct
1252print control, along with the print level for each one.
1253
1254\begin{table}[htbp]
1255\begin{center}
1256\begin{tabular}{lcc}
1257  {\bf Name}          & {\bf Print Level} & {\bf Description} \\
1258 ``atomic guess density''     & debug     & guess density matrix \\
1259 ``atomic scf''               & debug     & details of atomic SCF \\
1260 ``mo guess''                 & default   & brief info from mo guess \\
1261 ``information''              & low       & results  \\
1262 ``initial vectors''          & debug     & \\
1263 ``intermediate vectors''     & debug     & \\
1264 ``final vectors''            & debug     & \\
1265 ``final vectors analysis''   & default   & \\
1266 ``initial vectors analysis'' & never     & \\
1267 ``intermediate evals''       & debug     & \\
1268 ``final evals''              & default   & \\
1269 ``schwarz''                  & high      & integral screening info \& stats at completion\\
1270 ``screening statistics''     & debug     & display stats after every Fock build \\
1271 ``geometry''                 & high      & \\
1272 ``symmetry''                 & debug     & detailed symmetry info \\
1273 ``basis''                    & high      & \\
1274 ``geombas''                  & debug     & detailed basis map info \\
1275 ``vectors i/o''              & default   & report vectors I/O \\
1276 ``parameters''               & default   & convergence parameters \\
1277 ``convergence''              & default   & info each iteration \\
1278 ``mulliken ao''              & never     & Mulliken population of basis functions
1279\end{tabular}
1280\end{center}
1281\caption{SCF Print Control Specifications}
1282\end{table}
1283
1284\newpage
1285\section{Hartree-Fock or SCF, MCSCF and MP2 Gradients}
1286
1287\input{scfgrad}
1288
1289% LocalWords:  MO's
1290