Skip to content

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:

  1. Converge a normal ground-state SCF and keep its orbitals (TeraChem writes the alpha/beta MO coefficient files ca0/cb0 into the scratch directory).
  2. Restart from those orbitals with the guess keyword, switch on mom yes (or imom yes), and specify the target occupation with an $excitations block.

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

$excitations
alpha <from> <to>
beta  <from> <to>
$end

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:

imom_boron.in
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:

uhf_core_ioniz.in
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, and md work 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 different mom_norm alongside imom 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


  1. 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). ↩

  2. 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 ↩