stable(1) 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 FORMAT

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.