NAME¶
stable - MO Hessian stability analysis program
DESCRIPTION¶
The program
stable performs a stability analysis on the molecular
orbitals by diagonalizing the molecular orbital Hessian. The analysis includes
orbital rotations which may break spin or spatial symmetry. If an instability
is detected (i.e., there are negative eigenvalues of the MO Hessian), the
previous Hartree-Fock self consistent field (SCF) computation has landed on a
local minimum, not the global minimum, in orbital rotation space. For spatial-
or symmetry-breaking rotations, this merely means that there is another
orbital occupation or a UHF wavefunction with a lower energy. For instabilties
which preserve the reference type (RHF or UHF) and are totally symmetric, this
suggests that the SCF computation has simply found the wrong solution and
should be re-run using a new initial guess.
Instabilities corresponding to spatial symmetry breaking rotatios can be
resolved by re-running the calculation in a lower computational point group.
(It may also be necessary to employ some trick to break the symmetry of the
initial guess wavefunction). Instabilities corresponding to spin symmetry
breaking rotations (RHF->UHF) can be resolved by re-running the SCF using a
UHF reference.
For UHF wavefunctions with totally-symmetric instabilities, it is possible to
follow the instability automatically toward the global minimum by setting
FOLLOW=TRUE.
Input for this program is read from the file The following keywords are valid:
- CACHELEV = integer
- This is the cache level used for the DPD files. It
functions the same way as in the coupled-cluster codes. Currently, this is
hardwired to 0.
- FOLLOW = boolean
- If TRUE, then the eigenvector corresponding to the most
negative eigenvalue of the MO Hessian will be followed to try to find a
lower energy Hartree-Fock solution. The orbitals will be rotated, and the
cscf module should be re-run using these new guess orbitals.
- NUM_EVECS_PRINT = integer
- Gives the number of MO Hessian eigenvectors to print.
- PRINT = integer
- The print level determines how much information is printed
by the program. Values typically range from 1 (minimal printing) to 5
(very verbose printing for debugging only). The default is 1.
- REFERENCE = string
- This is the reference type, RHF, ROHF, or UHF. The default
is RHF.
- SCALE = real
- This is the scale factor used for taking steps in
eigenvector following. Normal values would be between 0 and 1. The default
is 0.5.