stable(1)

πŸ“¦ version 3.4.0, in debian bookworm, ubuntu jammy, ubuntu noble

πŸ’– NAME πŸ’–

ok so this is stable β€” the MO Hessian stability analysis program, section 1 of the manual, she's an icon, she's a classic πŸ’…


✨ DESCRIPTION ✨

okay bestie, listen. stable does a stability analysis on your molecular orbitals by diagonalizing the molecular orbital Hessian. that's the whole vibe. and the analysis includes orbital rotations that may break spin symmetry or spatial symmetry β€” like, it's not shy, it checks those too πŸ¦‹

so if an instability gets detected (translation: there are negative eigenvalues of the MO Hessian), that means your previous Hartree-Fock self consistent field (SCF) computation landed on a local minimum, NOT the global minimum, in orbital rotation space. like, she found a valley, just not the valley. 😭

here's what each flavor of instability is actually telling you:

  • for spatial- or symmetry-breaking rotations, it merely means there's another orbital occupation, or a UHF</u> wavefunction, sitting there with a lower energy. no drama, just options.
  • for instabilities that preserve the reference type (RHF or UHF) and are totally symmetric, this suggests the SCF computation has simply found the wrong solution and should be re-run using a new initial guess. yeah. it fumbled. re-roll. 🎲

πŸ› οΈ how to actually fix it

Instabilities corresponding to spatial symmetry breaking rotations can be resolved by re-running the calculation in a lower computational point group. (and yeah, it may also be necessary to employ some trick to break the symmetry of the initial guess wavefunction. iykyk 🫢)

Instabilities corresponding to spin symmetry breaking rotations (<code>RHF</code> -> <code>UHF</code>) can be resolved by re-running the SCF using a UHF reference. slay, just switch it up ✨

and for UHF wavefunctions with totally-symmetric instabilities, you can actually follow the instability automatically toward the global minimum by setting FOLLOW=TRUE. yes bestie, autopilot. πŸ’…

πŸŽ€ 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, no cap. currently, this is hardwired to 0. (so like, she takes the input but doesn't take the input, yk? 😭)
  • 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. main character energy fr fr πŸ‘‘
  • NUM_EVECS_PRINT = integer β€” gives the number of MO Hessian eigenvectors to print. that's it. that's the job. πŸ’…
  • 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. πŸŽ€

and that's the whole page, bestie 🫢 this was the stable(1) manual, dated 23 Aug, 2003 β€” yeah she's vintage, she's retro, she still ate πŸ’– bye mwah πŸ’…πŸŒΈ

πŸ“¦ where this page comes from