SCF
The self-consistent field (SCF) procedure is the foundation of most TeraChem calculations. It solves the Hartree–Fock (HF) and Kohn–Sham density functional theory (DFT) equations, and it also produces the orbitals that start higher-level methods such as CASSCF, coupled cluster, and the excited-state methods.
The SCF equations
In HF and KS-DFT the molecular orbitals are obtained by solving the generalized eigenvalue (Roothaan–Hall) equation self-consistently,
where \(\mathbf{S}\) is the atomic-orbital overlap matrix, \(\mathbf{C}\) the molecular orbital coefficients, \(\boldsymbol{\epsilon}\) the orbital energies, and \(\mathbf{F}\) the Fock (or Kohn–Sham) matrix,
Because \(\mathbf{F}\) depends on the density built from \(\mathbf{C}\), the equation is solved iteratively: from a starting guess, build the Coulomb (J) and exchange (K) matrices, add the one-electron core Hamiltonian (and the exchange–correlation potential \(\mathbf{V}_{\mathrm{xc}}\) for DFT), diagonalize, form the new density, and repeat until the energy and density stop changing.
Constructing J and K from the two-electron integrals is the dominant cost of each iteration. How TeraChem evaluates those integrals — exact GPU integral-direct evaluation, density fitting, or tensor hypercontraction — and the associated precision and screening controls are documented in the Integrals section. For DFT, the exchange–correlation functional and integration grid are covered under Density Functional Theory.
Reference types
TeraChem supports the usual single-determinant references, selected by the spin multiplicity and the open/closed-shell character of the system:
- RHF / RKS — restricted, closed-shell.
- UHF / UKS — unrestricted, for open-shell systems (spin-up and spin-down orbitals optimized independently).
- ROHF — restricted open-shell.
For systems with near-degeneracies at the Fermi level, FOMO-SCF replaces the integer occupations with fractional ones, which stabilizes the SCF and produces orbitals suitable for a subsequent CASCI.
Convergence
The SCF is accelerated and stabilized by several techniques, selected through the
scf keyword and related controls:
| Keyword | Type | Default | Description |
|---|---|---|---|
scf |
string | diis |
Convergence engine / SCF mode: diis (direct inversion in the iterative subspace), diis+a (DIIS with damping), soscf / soscf-switch (second-order SCF), sadscf (difference-density SCF), or thcsadscf (THC-accelerated). |
convthre |
float | internal | SCF convergence threshold (on the DIIS error / density change). |
maxit |
int | internal | Maximum number of SCF iterations. |
levelshift |
bool | no | Enable level shifting of the virtual orbitals to aid convergence. |
levelshiftvala / levelshiftvalb |
float | — | Level-shift values (a.u.) for the α and β virtual orbitals. |
guess |
string/file | sad |
Initial-orbital guess — see Initial Guess. |
dftd |
string | no | Empirical dispersion correction (e.g. D3) added to the SCF energy. |
For very large systems the cubic-scaling linear algebra (diagonalization) can become the bottleneck; density-matrix purification and pseudodiagonalization are used to mitigate this.
In this section
- Initial Guess — choosing and supplying the starting orbitals.
- FOMO-SCF — fractional occupations for near-degenerate systems.
- Difference-Density SCF — the
sadscfmode for fast SCF on large systems. - Wavefunction Projection — projecting orbitals between basis sets/geometries.
- PCM Solvation — implicit solvation during the SCF.