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:
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):
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:
- At a reference geometry, run with
diabsave yesto save the converged orbitals (an orbital binary, e.g.c0.casscf) and CI vectors (written to a binary namedrefci). - At each subsequent geometry, pass those files back with
diaborb(orbitals) anddiabci(CI vectors). TeraChem aligns the current orbitals and CI vectors to the reference by maximum overlap, so the diabats retain their identity.
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:
Notes
- Only property-based Boys diabatization is implemented.
- The
diaborb,diabci,diabrefnumatoms,diabrefclosed,casoverlapthre, anddiabaticinterstategradientkeywords apply to CASSCF wavefunctions. diabsave yessaves the orbitals and CI vectors (CI vectors torefci) 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
-
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). ↩