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\),
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:
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:
- 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
- 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