cscf - solves the Hartree-Fock equations
The program cscf carries out the iterative procedure to
solve the Hartree-Fock equations.
This program is restricted to D2h symmetry and its subgroups and
the orbital occupations are required to be integers. Thus, certain pure
angular momentum states derived from partial occupation of degenerate
orbitals cannot be obtained with the present codes. For example, the 2PIu
(doublet PI u) state of linear O-N-O derived from the lowest energy linear
(pi u)1 configuration may only be computed as the 2B2u (doublet B2u) or 2B3u
(doublet B 3u) component of the 2PIu (doublet PI u) state, and the resulting
spatial wavefunction will not have PI symmetry. In a certain sense, however,
this is desirable, as the energy will be a continuous function of the
bending angle. Calculating the energy of bent configurations as 2B2u
(doublet B 2u) or 2B3u (doublet B 3u) and doing a pure 2PIu (doublet PI u)
state at linear geometries results in a pronounced discontinuity.
For the most part, triplet states resulting from double occupation
of a doubly degenerate orbital, such as the 3A2 (triplet A 2) state
resulting from the (e')2 or (e")2 configurations in D3h symmetry, or
the 3SIGMAg (triplet SIGMA g) state of a (pi g)2 or (pi u)2 configuration in
Dinfh (D infinity h) symmetry, will have the proper spatial symetry. The
singlet states resulting from these same electronic configurations are
inherently multiconfiguration and, as such, are not well represented by
single configuration wavefunctions.
PK-file method:
- 1.
- R. C. Raffenetti, Chem. Phys. Lett. 20 (1973) 335.
Molecular symmetry and closed shell HF calculations:
- 1.
- M.Dupuis, and H.F.King, Int. J. Quant. Chem. 11 (1977) 613.
DIIS for closed shell:
- 1.
- P. Pulay, Chem. Phys. Lett. 73 (1980) 393.
- 2.
- P. Pulay, J. Comp. Chem. 3 (1982) 556.
Coupling coefficients (alpha and beta) for open shell:
- 1.
- C. C. J. Roothaan, Rev. Mod. Phys. 32 (1960) 179.
Damping:
- 1.
- D. R. Hartree, "The Calculation of Atomic Structures" (Wiley:
New York) 1957.
- 2.
- M. C. Zerner and M. Hehenberger, Chem. Phys. Lett. 62 (1979) 550.
Level shifting:
- 1.
- V. R. Saunders and I. H. Hillier, Int. J. Quant. Chem. 7 (1973) 699.
For difficult open shell cases, it is recommended that an
appropriate closed shell calculation be run first (add or remove an extra
electron) and that this SCF vector then be used as a guess for the desired
open shell wavefunction. For TCSCF cases, it is always wise to run a closed
shell (or perhaps the appropriate triplet) SCF first and then use this as a
guess for the TCSCF.
For open shell systems, a level shift value of 0.5 to 3.0 is
recommended. Start with a high value (2.0 - 3.0) for the first SCF
calculation and then reduce it (to 0.5 - 1.0) for subsequent runs which use
a converged SCF vector as the starting point.
It is extremely important to note that this version of the code no
longer supports OPENTYPE. One must use the new keywords
REFERENCE and MULTP to specify the type of SCF
needed.
The cscf program searches through the default keyword path
(first SCF and then DEFAULT) for the following keywords:
- LABEL =
string
- This is a character string to be included in the output. This string is
not used by the program. There is no default.
- WFN =
string
- This is the type of wavefunction which is ultimately desired. The default
is SCF.
- OPENTYPE is
no longer supported
-
- REFERENCE =
string
- This specifies the type of SCF calculation one wants to do. It can be one
of RHF (for a closed shell singlet), ROHF (for a restricted
open shell calculation), UHF (for an unrestricted open shell
calculation), TWOCON (for a two configuration singlet), or
SPECIAL. If SPECIAL is given, then alpha and beta coupling
coefficients must be given with the ALPHA and BETA keywords.
The default is RHF.
- MULTP=
integer
- Specifies the multiplicity of the molecule. Default is singlet.
- CHARGE=
integer
- Specifies the charge of the molecule. Defauly is 0.
- DOCC =
integer_vector
- This gives the number of doubly occupied orbitals in each irreducible
representation. There is no default. If this is not given, CSCF will
attempt to guess at the occupations using the core hamiltonian.
- SOCC =
integer_vector
- This gives the number of singly occupied orbitals in each irreducible
representation. There is no default.
- DERTYPE =
string
- This specifies the order of derivative that is to eventually be done. It
is used by the scf program to determine if certain files are to be
written and it is also used to determine the default convergence of the
wavefunction. The default is FIRST.
- MAXITER =
integer
- This gives the maximum number of iterations. The default is 40.
- CONVERGENCE
= integer
- This specifies how tightly the wavefunction will be converged. Convergence
is determined by comparing the RMS change in the density matrix
("delta P") to the given value. The convergence criterion is
10**(-integer). The default is 7 if both DERTYPE = NONE and
WFN = SCF are given and 10 otherwise.
- LEVELSHIFT
= real
- This specifies the level shift. The default is 1.
- DIRECT =
boolean
- Specifies whether to do the SCF calculation with an integral direct
technique. The default is false.
- PRINT_MOS =
boolean
- Specifies whether to print the molecular orbitals or not. The default is
false.
There are also a large number of less commonly used input
parameters. If you do not understand what the following options mean, then
make sure that they do not appear in your input. The defaults will work in
the overwhelming majority of cases. These are specified with the following
keywords:
- DELETE_INTS
= boolean
- Integrals files will be erased if WFN = SCF and DERTYPE =
FIRST or DERTYPE = NONE. If you wish to keep integrals files
then set DELETE_INTS = false. The default is true.
- REORDER =
string
- The parameter controls reordering of molecular orbitals. If set to
BEFORE then the guess orbitals from checkpoint file will be
reordered. If set to AFTER, converged orbitals will be reordered
before being written to the checkpoint file. In either case MOORDER
parameter must be given to specify the reordering map. The default is not
to reorder orbitals.
- MOORDER =
integer_vector
- This specifies a molecular orbital reordering vector. It will only be used
if REORDER is set. This vector maps every orbital to its new index,
e.g. MOORDER = (0 2 1) specifies that after reordering orbitals 1
and 2 will be swapped. The rank of this vector is the same as the number
of MOs. The indices are in Pitzer order (ordered by symmetry, then by
energy within each symmetry block), base-0. CSCF will likely fail if the
given MOORDER mixes orbitals from different irreps. There is no default.
- ALPHA =
real_vector
- If OPENTYPE = SPECIAL, then this parameter gives the alpha coupling
coefficients. The number of elements in this vector is MM(MM+1)/2, where
MM is the number of irreducible representations containing singly occupied
molecular orbitals. There is no default.
- BETA =
real_vector
- If OPENTYPE = SPECIAL, then this parameter gives the beta coupling
coefficients. The number of elements in this vector is MM(MM+1)/2, where
MM is the number of irreducible representations containing singly occupied
molecular orbitals. There is no default.
- GUESS =
string
- This option determines the type of initial guess at the eigenvector CSCF
will use. The only valid option at the moment are : (1) GUESS =
CORE, which causes it to use core Hamiltonian eigenvector to start the
calculation; (2) GUESS = AUTO which results in an attempt to use
the MO vector in the checkpoint file, or resorts to core guess if there is
no eigenvector in that file. The default if AUTO.
- IPRINT =
integer
- This is a print option. The default is 0.
- MO_OUT =
boolean
- Prints out the orbitals with symmetry and occupations at the end of the
calculation. Default is true.
- ROTATE =
boolean
- The molecular orbitals will not be rotated if this is false. The rotation
only affects the virtual orbitals for open shell systems. This parameter
must be true for correlated gradients and it must be false for second and
higher derivatives. The default is false if WFN = SCF and true
otherwise.
- CHECK_ROT =
boolean
- Check the molecular orbital rotation described above to ensure that no
columns of the SCF eigenvector matrix are swapped by the rotation. Has no
effect if ROTATE = false. The default is true.
- CHECK_MO_ORTHOGONALITY
= boolean
- Check if the molecular orbitals are orthonormal. Useful for debugging
only. The default is false.
- DIIS =
boolean
- This determines whether diis will be used. The default is true.
- DIISSTART =
integer
- This gives the first iteration for which DIIS will be used. The default is
0.
- NDIIS =
integer
- This gives the number of error matrices to use in the diis procedure. The
default is 6 for closed shell, 4 for open shell, and 3 for tcscf.
- DIISDAMP =
real
- This gives the damping factor for the diis procedure. The default is 0.0
for closed shell, 0.02 for open shell, and 0.01 for tcscf.
- INCR =
real
- This is used in tcscf to determine how often the ci coefficients are
recalculated. A small number (~0.25) will cause them to be recalculated
nearly every scf iteration. The default is 0.25.
- DYN_ACC =
boolean
- When performing direct scf this specifies whether dynamic integral
accuracy cutoffs will be used. Default is true (use dynamic cutoffs).
Initial iterations are performed with integrals accurate to six digits.
After density is converged to 10^-5 or 30 iterations are completed, full
integral accuracy is used. If scf convergence problems are experienced
disabling dynamic cutoffs by setting this variable to false might help.
- ORTHOG_ONLY =
boolean
- Sometimes in CASSCF or other non-HF/KS schemes for orbital optimization,
it is useful to reorthogonalize MO's from other geometries for the current
geometry so they can be used as an initial guess for the new MO's. This
can be performed by running CSCF with ORTHOG_ONLY = true. After the
orbitals are orthogonalized, the program will quit without performing an
SCF computation. This keyword will be ignored if there are no previous
orbitals in the checkpoint file. Defaults to true if WFN =
DETCAS.