Skip to content

Diabatization

Adiabatic (Born–Oppenheimer) electronic states change character abruptly near avoided crossings and conical intersections, and the derivative (nonadiabatic) couplings between them become sharply peaked or even singular there. Quasidiabatic states are a smoothly varying alternative: the electronic character is held roughly fixed, so the coupling between states becomes a well-behaved scalar function of geometry. Diabatic states are the natural basis for model Hamiltonians, charge- and energy-transfer couplings, and nonadiabatic dynamics.

TeraChem constructs them by property-based (Boys) diabatization.1 The chosen adiabatic states are rotated among themselves to maximize the separation of their state dipole moments — the state-space analog of Boys orbital localization. The result is a small diabatic Hamiltonian: its diagonal elements are the diabatic state energies and its off-diagonal elements are the diabatic couplings. The procedure works on both CASSCF/CASCI and TDDFT/CIS adiabatic states.

Quick start

Compute the adiabatic states of interest and add a single keyword:

diabatize   boys

By default all computed states are included and the diabats are ordered by energy.

Selecting and ordering states

Keyword Description
diabselectstates Which adiabatic states enter the rotation, as a flag list [1,1,0,...] (1 = include, 0 = exclude), no spaces. Default: all states included.
diaborderstates Reorder the diabats in the output Hamiltonian, as an index list [0,1,...]. Default: ordered by increasing energy.
diabmaxiter Maximum number of Jacobi sweeps used to find the diabatic rotation (default 10000).

The diabatization print level is controlled by min_print (nothing/something/verbose/debug).

Example 1: TDDFT diabatization

Diabatize the lowest six TDDFT (here TDA-DFT) states of a benzene/p-benzoquinone trimer. diabsave yes writes the converged orbitals and CI vectors so they can be reused as a reference at other geometries (see below):

diabatize_tddft.in
jobname       tc
basis         6-31g
coordinates   final.xyz
charge        0
method        pbe0
run           energy

cis           yes
cisnumstates  6

diabatize     boys
diabsave      yes
diabmaxiter   1000000
precision     double
end

Example 2: CASSCF diabatization with cross-geometry tracking

For a smooth diabatic representation along a path (a scan, optimization, or trajectory), the diabatic states must be defined consistently from one geometry to the next. The recipe is:

  1. At a reference geometry, run with diabsave yes to save the converged orbitals (an orbital binary, e.g. c0.casscf) and CI vectors (written to a binary named refci).
  2. At each subsequent geometry, pass those files back with diaborb (orbitals) and diabci (CI vectors). TeraChem aligns the current orbitals and CI vectors to the reference by maximum overlap, so the diabats retain their identity.
diabatize_casscf.in
basis            6-31gs
coordinates      eth.xyz
charge           1
spinmult         2
method           rohf
run              gradient

casscf           yes
closed           21
active           3
casdoublets      3
castargetmult    2
castarget        0
casscfconvthre   1.0e-4
precision        double

diabatize        boys
casguess         c0.casscf      # CASSCF starting orbitals
diaborb          c0.casscf      # reference orbitals to align to
diabci           refci          # reference CI vectors to align to
end

If the reference orbitals were obtained for a different system size (e.g. a single fragment), give its dimensions with diabrefnumatoms and diabrefclosed. As a safeguard, casoverlapthre aborts the run if the determinant of the orbital overlap between the reference and current CASSCF orbitals drops below 1 - casoverlapthre (default 0.15), which signals that the alignment has been lost.

Diabatic coupling gradients

For CASSCF wavefunctions, the gradient of the diabatic coupling between two states can be computed with:

diabaticinterstategradient   yes
nacstate1   0
nacstate2   1

Notes

  • Only property-based Boys diabatization is implemented.
  • The diaborb, diabci, diabrefnumatoms, diabrefclosed, casoverlapthre, and diabaticinterstategradient keywords apply to CASSCF wavefunctions.
  • diabsave yes saves the orbitals and CI vectors (CI vectors to refci) from a converged calculation for reuse as the reference at the next geometry.

Summary of keywords

Keyword Type Default Description
diabatize string — Diabatization scheme; boys for property-based (Boys) diabatization
diabselectstates list all States to include in the rotation, [1,1,0,...]
diaborderstates list by energy Reordering of the diabats, [0,1,...]
diabmaxiter int 10000 Maximum Jacobi sweeps
diabsave bool no Save converged orbitals and CI vectors (refci) for reuse
diaborb file — (CASSCF) reference orbital binary to align to
diabci file — (CASSCF) reference CI-vector binary to align to
diabrefnumatoms int 0 (CASSCF) number of atoms in the reference system (0 = current)
diabrefclosed int 0 (CASSCF) number of closed orbitals in the reference (0 = current)
casoverlapthre float 0.15 (CASSCF) abort if reference/current orbital overlap determinant falls below 1 - casoverlapthre
diabaticinterstategradient bool no (CASSCF) compute gradients of the diabatic coupling between nacstate1 and nacstate2
min_print string — Diabatization print level (nothing/something/verbose/debug)

See also

  • CIS / TDDFT and CASSCF — the adiabatic states that diabatization transforms.
  • CIOpt — conical intersections, where diabatic representations are most useful.

References


  1. J. E. Subotnik, S. Yeganeh, R. J. Cave, and M. A. Ratner, Constructing diabatic states from adiabatic states: Extending generalized Mulliken–Hush to multiple charge centers with Boys localization, J. Chem. Phys. 129, 244101 (2008). ↩