MOM / Δ-SCF
The Δ-SCF approach reaches an excited or ionized state by converging the SCF directly onto a chosen non-aufbau occupation — for example, with an electron promoted out of a core orbital, or into a virtual — rather than by linear response from the ground state. The excitation or ionization energy is then simply the difference between the Δ-SCF energy and the ground-state SCF energy.
The difficulty is variational collapse: an ordinary SCF fills the lowest-energy orbitals at every iteration, so it tends to fall back to the ground state. The Maximum Overlap Method (MOM)1 prevents this. At each SCF iteration MOM occupies the orbitals that have the largest overlap with a fixed reference set of occupied orbitals, instead of the lowest-energy ones — keeping the calculation on the target non-aufbau solution.
TeraChem also implements IMOM (Improved MOM),2 which measures overlap against the initial reference orbitals throughout the SCF rather than against the previous iteration. IMOM is more robust against drift for large excitations and core holes.
Δ-SCF/MOM is well suited to:
- core-excited and core-ionized states (XPS / XAS, including double core holes),
- valence excited states of single-determinant character,
- open-shell states that are hard to reach by aufbau filling.
Workflow
MOM needs a set of reference orbitals to track, so a MOM calculation is run in two steps:
- Converge a normal ground-state SCF and keep its orbitals (TeraChem
writes the alpha/beta MO coefficient files
ca0/cb0into the scratch directory). - Restart from those orbitals with the
guesskeyword, switch onmom yes(orimom yes), and specify the target occupation with an$excitationsblock.
When mom_start 0 (the default — apply MOM from the first iteration), you
must provide the starting orbitals via guess; TeraChem reads the desired
occupation from the $excitations block and disables HOMO/LUMO guess mixing
automatically so the requested solution is not scrambled.
The $excitations block
The target occupation is defined by an $excitations ... $end block that lists
the orbital changes relative to the reference. Each line moves one electron of a
given spin from an occupied orbital to a target orbital (orbital indices are
1-based):
The same syntax expresses both excitation (promote to a virtual orbital) and ionization (promote a core or valence electron to a high-lying virtual, effectively removing it from the chemically relevant manifold, with the charge set accordingly).
Example 1: Δ-SCF excited state with IMOM
A single-atom excited state — promoting a boron 2pₓ electron to 3pᵧ — using IMOM and orbitals read from a previously converged ground-state run:
method uhf
basis aug-cc-pVDZ
coordinates b.xyz
charge 0
spinmult 2
scrdir scr
run energy
# read ground-state orbitals saved from a prior SCF
guess scr-gs-mom/ca0 scr-gs-mom/cb0
imom yes # Improved MOM
mom_start 0 # apply MOM from the first SCF iteration
mom_norm 1
end
# boron 2px -> 3py excitation (1-based orbital indices)
$excitations
alpha 3 9
$end
Example 2: core ionization (XPS) with MOM
Removing a core electron to model a core-ionized (XPS) state — here the first core orbital of a water dimer cation. The prior step converged the neutral or cationic ground state and saved its orbitals:
method uhf
basis 6-31G*
coordinates watdimer.xyz
charge 1
spinmult 2
scrdir scr
run energy
guess scr-ion-gs/ca0 scr-ion-gs/cb0
mom yes
mom_norm 1
mom_debug no
end
# ionize a core electron: promote beta electron from orbital 1 to a virtual
$excitations
beta 1 10
$end
Double-core-hole states are set up the same way, with two promotions in the
$excitations block. The core-ionization (binding) energy is the difference
between this Δ-SCF energy and the reference-state SCF energy.
Notes
- MOM holds the occupation fixed, so the converged Δ-SCF state generally lies above the ground state — that is expected. Report excitation/ionization energies as the difference from the ground-state SCF energy.
run gradient,minimize, andmdwork on the Δ-SCF state, so geometry optimization and Born–Oppenheimer dynamics of core/excited states are available.- IMOM forces
mom_norm 1; if you set a differentmom_normalongsideimom yes, TeraChem switches it back to 1.
Summary of keywords
| Keyword | Type | Default | Description |
|---|---|---|---|
mom |
bool | no | Enable the Maximum Overlap Method |
imom |
bool | no | Enable Improved MOM (overlap against the fixed initial reference) |
mom_start |
int | 0 | SCF iteration at which to begin applying MOM (0 requires guess orbitals + an $excitations block) |
mom_norm |
int | 1 | Overlap/projection formula variant (0, 1, or 2; 1 is the modified formula) |
mom_debug |
bool | no | Print additional MOM diagnostics |
guess |
files | — | Reference orbitals to track, e.g. guess <scr>/ca0 <scr>/cb0 (required when mom_start 0) |
The target occupation is supplied separately in an
$excitations block.
References
-
A. T. B. Gilbert, N. A. Besley, and P. M. W. Gill, Self-Consistent Field Calculations of Excited States Using the Maximum Overlap Method (MOM), J. Phys. Chem. A 112, 13164 (2008). ↩
-
G. M. J. Barca, A. T. B. Gilbert, and P. M. W. Gill, Simple Models for Difficult Electronic Excitations, J. Chem. Theory Comput. 14, 1501 (2018). doi:10.1021/acs.jctc.7b00994 ↩