Skip to content

FOMO-SCF (fractional occupation molecular orbitals)

FOMO-SCF — also called FON-SCF or, for a Hartree–Fock reference, FON-HF (fractional occupation number HF) — is a self-consistent field procedure in which the orbitals near the Fermi level are allowed to take fractional occupations, smeared by a finite electronic temperature, rather than being strictly occupied (1 or 2) or empty (0). It is enabled with fon yes.

FOMO-SCF is useful in its own right for stabilizing the SCF of systems with near-degeneracies at the Fermi level, and it is the orbital generator for FOMO-CASCI — that page describes how the resulting orbitals are used as a CASCI active space, whereas this page documents the fractional-occupation procedure itself.

Why fractional occupations?

In ordinary (integer-occupation) Hartree–Fock or Kohn–Sham DFT, each spatial orbital is either fully occupied or empty. A direct consequence is that the HOMO and LUMO can never be exactly degenerate: only one of two degenerate orbitals can be occupied in a single Slater determinant, which artificially lifts the degeneracy. When orbitals are genuinely (near-)degenerate around the Fermi level — as happens during bond dissociation, in diradicals, and in many transition-metal systems — this makes the SCF unstable and slow or impossible to converge, and the resulting orbitals are a poor starting point for a multireference (CASCI) treatment.

FOMO-SCF resolves this by giving the frontier orbitals equal fractional occupations instead, removing the artificial symmetry breaking. Because the fractionally occupied orbitals carry partial occupation, they also enter the energy expression and are therefore optimized — which, in particular, pulls the would-be virtual orbitals into a more compact, valence-like form that is far better suited to a subsequent CASCI than the diffuse virtuals of a standard HF calculation.

The fractional-occupation procedure

The FON-HF energy has the usual Hartree–Fock form but with a density matrix built from fractional occupation numbers \(n_i\),

\[ E = \sum_{\mu\nu} P_{\mu\nu} h_{\mu\nu} + \sum_{\mu\nu\lambda\sigma} P_{\mu\nu} \left[(\mu\nu|\lambda\sigma) - \tfrac{1}{2}(\mu\sigma|\lambda\nu)\right] , \qquad P_{\mu\nu} = \sum_i n_i\, C_{\mu i} C_{\nu i} . \]

The occupation number of each orbital is a smooth function of its orbital energy \(\varepsilon_i\) relative to the Fermi energy \(\varepsilon_F\), controlled by an electronic temperature \(T\) (equivalently a broadening width \(\beta = kT\)). TeraChem offers several smearing functions, selected with fon_method:

  • Gaussian broadening (default): the occupation is the integral of a Gaussian of width \(\beta\) centered on each orbital energy, up to the Fermi level, \(n_i = \int_{-\infty}^{\varepsilon_F} \frac{1}{\beta\sqrt{2\pi}} e^{-(\varepsilon-\varepsilon_i)^2/2\beta^2}\,\mathrm{d}\varepsilon\).
  • Fermi–Dirac: \(n_i = \dfrac{1}{1 + e^{(\varepsilon_i-\varepsilon_F)/kT}}\) (times 2 for a closed-shell reference).
  • Marzari–Vanderbilt cold smearing (alias mv), and a constant occupation option.

The Gaussian and Fermi–Dirac prescriptions give essentially indistinguishable results in practice. In every case the Fermi energy \(\varepsilon_F\) is determined so that the occupations sum to the correct number of electrons, and the SCF is iterated exactly as usual except that the occupation numbers are refreshed from the orbital energies after each cycle. At convergence the self-consistent fractional-occupation orbitals are obtained.

Restrict the smearing to a small window

The orbitals are partitioned exactly as in a CAS calculation: closed orbitals keep integer (doubly) occupation, while active orbitals are the ones allowed to take fractional occupation. Restricting the fractional occupations to this small active window makes the results fairly insensitive to the choice of electronic temperature, so FOMO-SCF needs little of the calibration that a fully smeared finite-temperature calculation would require. If active is not set, all occupied orbitals are fractionally occupied.

Keywords

Core keywords

Keyword Type Default Description
fon bool no Enable fractional orbital occupations (FOMO-SCF / FON-HF).
fon_method string gaussian Smearing function: gaussian, fermi, marzari-vanderbilt (aliases mv, marzari), or constant.
fon_temperature float 0.25 Electronic temperature \(kT\) (a.u.) — the broadening width \(\beta\) controlling how far occupations spread around the Fermi level.
closed int — Number of orbitals kept at integer (doubly) occupation, below the smearing window. Shared with the CAS active-space definition.
active int all occupied Number of orbitals allowed to take fractional occupation. If unset, every occupied orbital is fractionally occupied. Shared with the CAS active-space definition.
fon_print int — Verbosity of fractional-occupation output.

Electron-number control

Keyword Type Default Description
fon_total float system Total number of electrons for a restricted FON-HF (may differ from the neutral count, e.g. to model partial charging).
fon_alpha float system Number of α electrons for an unrestricted FON-HF.
fon_beta float system Number of β electrons for an unrestricted FON-HF.
fon_mix bool no Optimize the spin by allowing the α and β electron counts to mix in a UHF calculation. Note: FOMO-HF gradients are not available when occupations are mixed (except for CAS calculations).

Temperature annealing (convergence aid)

For difficult cases the FOMO temperature can be annealed from a higher starting value down to a target, which helps both ordinary DFT (annealing to \(T=0\)) and FOMO-SCF when it will not otherwise converge.

Keyword Type Default Description
fon_anneal string/bool no Anneal the temperature from fon_temperature toward fon_target. Accepts yes/no or failsafe (a robust mode; pair with fon_method marzari so the FOMO free energy equals the zero-temperature energy perturbatively).
fon_target float 0.0 (yes) Final temperature (a.u.) of the anneal.
fon_anneal_iter int 100 Number of annealing iterations.
fon_converger bool yes Use the converger-style annealing schedule (within fon_anneal yes).
fon_pop_change, fon_occ_change, fon_steer, fon_tests, fon_e_increase — internal Advanced annealing-schedule controls; the defaults are generally appropriate.

Example

A FOMO-SCF (FON-HF) calculation that smears two electrons over an active window of two orbitals on top of seven doubly occupied orbitals — the orbital-generation step for a CAS(2,2) FOMO-CASCI:

fon                    yes
fon_method             gaussian
fon_temperature        0.25
closed                 7
active                 2

To use these orbitals in a CASCI calculation, add casci yes and the CAS state keywords — see CASCI and FOMO-CASCI.

References

The GPU-accelerated FOMO (FON-HF) implementation in TeraChem and its use as an orbital generator for FOMO-CASCI are described in:

  1. E. G. Hohenstein, M. E. F. Bouduban, C. Song, N. Luehr, I. S. Ufimtsev, and T. J. Martínez, "Analytic first derivatives of floating occupation molecular orbital-complete active space configuration interaction on graphical processing units," J. Chem. Phys. 143, 014111 (2015). doi:10.1063/1.4923259
  2. D. Hollas, L. Šištík, E. G. Hohenstein, T. J. Martínez, and P. Slavíček, "Nonadiabatic Ab Initio Molecular Dynamics with the Floating Occupation Molecular Orbital-Complete Active Space Configuration Interaction Method," J. Chem. Theory Comput. 14, 339–350 (2018). doi:10.1021/acs.jctc.7b00958