Exciton Model
TeraChem implements a GPU-accelerated ab initio exciton model that targets the
excited-state electronic structure of large multichromophore systems by partitioning
the supersystem into chromophore monomers and evaluating only the energies and
couplings actually needed for the excitonic Hamiltonian. The model is invoked with
run exciton together with a fragment-definition guess file.
The implementation supports locally-excited (LE), charge-transfer (CT), and triplet-triplet (TT, also called multiexcitonic) basis states; restricted, unrestricted, and restricted-open-shell SCF for the monomers; ground- and excited-state gradients; NVE and NVT (Berendsen thermostat) molecular dynamics on the excitonic surfaces; and QM/MM (point charges, internal-water, OpenMM/Amber prmtop drivers) embedding.
The theory and validation are described in Sisto, Glowacki, Martinez Acc. Chem. Res. 47, 2857 (2014)1; Li, Parrish, Liu, Kokkila Schumacher, Martinez J. Chem. Theory Comput. 13, 3493 (2017)2; Sisto et al. Phys. Chem. Chem. Phys. 19, 14924 (2017)3; and Li, Parrish, Martinez J. Chem. Phys. 153, 184116 (2020)4.
Theory
The exciton Hamiltonian is built in a basis of fragment-localized diabatic states,
where each \(\lvert\varphi_I\rangle\) is one of:
- GS — the (anti-symmetrized) Hartree product of monomer ground states.
- LE on monomer \(A\) — an electron-hole pair localized on \(A\), obtained from the monomer's CIS/TDDFT solution.
- CT \(A\to B\) — a hole on monomer \(A\) and an electron on monomer \(B\). The CT energy is computed using a \(\Delta\)SCF-like construction in the frozen-density approximation, mixing the densities of the cations and anions to build the appropriate dimer Fock matrices.
- TT \(AB\) — a singlet-coupled triplet on \(A\) and triplet on \(B\) (relevant for singlet fission).
Three approximations make the model scalable. (i) Monomer wave functions are
those of the isolated fragments (the frozen-density approximation), so the
matrix-element evaluation cost scales with the monomer size rather than the
supersystem size. (ii) Molecular orbitals on different monomers are treated as
orthogonal — exact only in the limit of vanishing intermonomer overlap, but accurate
in practice for the weak-coupling regime in which excitons are well-defined. (iii)
Three- and four-monomer repulsion integrals are neglected. The remaining
electrostatic effect of the spectator monomers \(C\ne A,B\) on a chosen monomer or
dimer is folded in through their ESP point charges (fit to the monomer ground-state
density on a Connolly surface), entering the Fock matrix as a static external
field. The ESP charges can be made self-consistent by iterating monomer SCFs in the
field of the others (exmod_mm_iter).
The result is a small Hamiltonian whose dimension grows only with the number of chromophores rather than with the number of basis functions, while the heavy electronic-structure work (monomer SCF + CIS/TDDFT, dimer SCFs for CT) is decoupled into independent jobs that parallelize trivially.
Required input
Three things are needed to run an exciton calculation:
- A composite
.xyzfile for the whole system, with the atoms of each fragment listed contiguously and in the order in which they will appear in the fragment list. - A fragment-definition guess file referenced via
guess exciton <file>. run excitonplus the desiredexmod_*switches.
Fragment-definition guess file
The fragment file is plain text. The first line is the number of fragments \(N_{\text{frag}}\); the next \(N_{\text{frag}}\) lines describe each fragment:
Each fragment line has four whitespace-separated tokens:
| Column | Meaning |
|---|---|
| 1 | Number of atoms in the fragment. |
| 2 | Net charge of the fragment. |
| 3 | Spin multiplicity (\(2S+1\)). Only closed-shell fragments (\(S=0\), i.e. multiplicity 1) are currently supported. |
| 4 | Spin-direction label, a (alpha / spin-up) or b (beta / spin-down). Carried over from the shared SAD / guess frag fragment format, where it sets the sign of the fragment's \(S_z\). The exciton parser does not currently read this field — per-fragment spin is not yet supported and all fragments must be closed-shell (\(S=0\)) — so in practice it is always a. |
The order of the fragment lines must match the atom blocks in the composite .xyz
file: the first fragment owns the first \(N_1\) atoms, the second fragment the next
\(N_2\), and so on. The sum of the per-fragment atom counts must equal the total
number of atoms in the .xyz.
Method choice
The monomer SCFs are run with whatever method is specified globally. All the
usual TeraChem methods are supported: HF (method hf), DFT (any LDA/GGA/hybrid),
and range-separated functionals such as wpbeh together with rc_w for the
range-separation parameter. For methods that require LE energies (any calculation
including LE states), set cis yes and the usual CIS keywords (cisnumstates,
cismaxiter, etc.); for DFT-based monomers this produces TDDFT excitation
energies, optionally with the Tamm-Dancoff approximation through cisnumstates
and exmod_tda_ct / exmod_tda_tt.
By default the monomers are run with restricted SCF. Set exmod_uscf yes for an
unrestricted treatment; this is required for the unrestricted CT/TT couplings used
in the singlet-fission flavor of the model.
Selecting the basis states
The exciton-state basis is built from the following independently-toggled blocks:
- LE states: included whenever
cis yesandcisnumstates > 0are set. The number of LE states per monomer is taken fromcisnumstates. - CT states: enable with
exmod_ct N, where \(N\) is the number of orbital pairs to include (typically 1, meaning HOMO of donor → LUMO of acceptor). For a system with \(M\) monomers and \(N\) orbital pairs, the model generates \(2 M(M-1) N^2\) CT states (the factor of 2 accounts for both donor/acceptor orderings within each pair). Useexmod_tda_ct yesto apply TDA to the CT couplings. - TT states: enable with
exmod_tt yesfor one \(T_A T_B\) singlet-coupled triplet-pair state per chromophore pair (the model currently supports only one TT state). When TT states are included, exactly one orbital pair must be used for CT (i.e.exmod_ct 1). Useexmod_tda_tt yesto apply TDA on the TT block.
Gradients
Analytic gradients are available for the ground state (exmod_gs_grad yes) and
for excited states (exmod_es_grad yes); the excited-state index is the
exciton-Hamiltonian eigenstate selected via exmod_state (see [Molecular dynamics]
(#molecular-dynamics) below). Numerical gradients are available as a verification
tool with exmod_num_grad yes.
Molecular dynamics
Born-Oppenheimer dynamics on an excitonic surface is enabled with exmod_md yes.
The integrator is velocity Verlet. The relevant keywords are:
| Keyword | Description |
|---|---|
exmod_dt |
Timestep in femtoseconds (default 0.1). |
exmod_nsteps |
Number of MD steps (default 0; must be set to run dynamics). |
exmod_state |
Eigenstate of the exciton Hamiltonian to propagate on (default 0 = ground state). |
exmod_nvt |
yes for a Berendsen thermostat, no for NVE (default no). |
exmod_ref_T |
Target temperature in Kelvin (default 300). |
exmod_tau_T |
Berendsen relaxation time in fs (default 20). |
exmod_md_rst |
Restart the MD from an existing exciton MD restart file (default yes). |
QM/MM with the exciton model
The exciton model can be combined with all three QM/MM drivers (qmmm-style point
charges, internal water, and the OpenMM/Amber prmtop-based driver). MM atoms
enter every monomer Fock matrix as external point charges. Additional control of
the LE / CT / TT energetics in a heterogeneous environment is provided by:
exmod_mm_0,exmod_mm_iter,exmod_mm_1,exmod_mm_2— choose how the MM environment is treated in the ground-state vs. iterative-ESP vs. monomer vs. dimer evaluations.exmod_use_pauli— augment the monomer-monomer interaction with the Pauli repulsion extracted from a dimer SCF, improving CT energies at short range.exmod_use_lj— add a 6-12 Lennard-Jones term for the close-contact regime.exmod_excl_qmmm— exclude the QM/MM interaction energy and gradient from reported totals (useful for separating intra-fragment from environmental contributions).exmod_esp_chg,exmod_esp_test,exmod_esp_read,exmod_esp_file— control whether ESP charges are recomputed, tested, read in, or written to a file (final.chgby default). Setexmod_esp_read yesto skip the ESP fit and reuse pre-computed charges; this freezes the embedding and disables iterative ESP self-consistency.exmod_mm_freeze yes— freeze the MM atoms during exciton-model dynamics or FMS (no MM gradient is applied).
Examples
Ground-state gradient: water trimer (HF/STO-3G)
The simplest exciton calculation: three water monomers, RHF, no excited states, ground-state gradient. The fragment file declares three closed-shell, 3-atom fragments.
gpus all
coordinates h2o_trimer.xyz
charge 0
spinmult 1
basis sto-3g
method hf
precision double
convthre 1.0e-9
cphftol 1.0e-9
xtol 1.0e-9
run exciton
guess exciton guess.txt
exmod_read_scr no
exmod_gs_grad yes
end
LE + CT + TT with gradients: water dimer (HF/3-21G)
A two-fragment calculation including the full excitonic basis (one LE, the CT
block, and one TT state) with both ground- and excited-state gradients. The
unrestricted-SCF flag (exmod_uscf yes) is required for the CT/TT treatment.
gpus all
coordinates h2o_dimer.xyz
charge 0
spinmult 1
basis 3-21g
method hf
precision double
convthre 1.0e-9
cphftol 1.0e-9
cpcistol 1.0e-9
xtol 1.0e-9
maxit 300
cismaxiter 120
cphfiter 120
cpcisiter 120
run exciton
guess exciton guess.txt
exmod_read_scr no
exmod_uscf yes
exmod_ct yes
exmod_tt yes
cis yes
cisnumstates 1
exmod_gs_grad yes
exmod_es_grad yes
end
Charge-transfer states with range-separated DFT
Charge-transfer state energies are very sensitive to the amount of long-range
Hartree-Fock exchange. With a range-separated functional (here \(\omega\)PBEh with
rc_w 0.3) the CT block is well-described. This input also illustrates how the
ESP-fitting parameters interact with the exciton model — the model uses the same
RESP machinery as the rest of TeraChem.
gpus all
coordinates furan_dcne.xyz
charge 0
spinmult 1
basis cc-pvdz
method wpbeh
rc_w 0.3
guess exciton guess.txt
exmod_ct yes
exmod_tt no
exmod_mm_1 yes
exmod_read_scr no
xtol 1.0e-6
run exciton
dynamicgrid yes
resp yes
esp_grid_layers 10
esp_grid_dens 2.5
esp_restraint_a 0.0
cis yes
cisnumstates 3
cismaxiter 300
cisguessvecs 20
cissubspace 20
end
Excitonic MD: pentacene dimer
Twenty steps of velocity-Verlet MD on the lowest exciton eigenstate of a pentacene dimer at HF/STO-3G with Lennard-Jones-augmented inter-monomer interactions. Restart-reading is disabled so the dynamics starts from the geometry given.
gpus all
coordinates ptn-dimer.xyz
basis sto-3g
method hf
charge 0
spinmult 1
precision mixed
threspdp 1.0e-6
convthre 1.0e-6
cphftol 1.0e-6
xtol 1.0e-6
run exciton
guess exciton guess.txt
exmod_gs_grad yes
exmod_use_lj yes
exmod_md yes
exmod_dt 0.2
exmod_nsteps 20
exmod_md_rst no
end
QM/MM exciton model: water dimer with point-charge solvent
The exciton model can be combined with internal-water QM/MM (qmmm plus
pointcharges). Pauli repulsion from the dimer SCF is added through
exmod_use_pauli yes, which improves the short-range CT energetics that
fragment-based methods otherwise miss.
coordinates h2o_dimer.xyz
qmmm mm.xyz
pointcharges mm.xyz
gpus all
charge 0
spinmult 1
basis 3-21g
method hf
precision double
convthre 1.0e-9
cphftol 1.0e-9
cpcistol 1.0e-9
xtol 1.0e-9
dftbox yes
dynamicgrid no
dftgrid 2
maxit 300
cismaxiter 120
cphfiter 120
cpcisiter 120
run exciton
guess exciton guess.txt
exmod_read_scr no
cis yes
cisnumstates 1
exmod_ct yes
exmod_tt yes
exmod_gs_grad yes
exmod_es_grad yes
exmod_approx no
exmod_use_pauli yes
end
Additional worked inputs are bundled with the TeraChem distribution under
tests/tests/Exciton/, including OpenMM-driven setups
(exciton_openmm_{qm,mm,3body}), QM/MM with link atoms
(exciton_link_atom), restricted-open-shell and unrestricted SCFs
(exciton_{rohf,uhf,roks,uks}_grad), and singlet-fission with TT states
(exciton_tt).
Parallelism
The exciton model is one of the few calculation types in TeraChem with a
distributed-memory parallelization layer. The high-level decomposition over
independent monomer and dimer SCFs is dispatched through MPI when TeraChem is
launched with -E / --ExMod and the appropriate MPI launcher (see
Single Point Engine Mode (MPI)). Within
each rank, all of the usual single-node GPU parallelism applies. The combination
is what makes the model scale to the ~hundreds-of-chromophores regime
(e.g. the 27-Bchla LH2 complex of Ref. 3).
Keyword reference
| Keyword | Description | Default |
|---|---|---|
run exciton |
Master switch; declares an exciton-model calculation. | — |
guess exciton <file> |
Read fragment definitions (and use the fragment-block initial guess). | — |
exmod_uscf |
Run monomer SCFs unrestricted. Required for the CT/TT couplings used in singlet fission. | no |
exmod_read_scr |
Read cached intermediates from the scratch directory if present. | yes |
exmod_scr_dir |
Subdirectory under scrdir holding exciton-model intermediates. |
exmod_rst |
exmod_debug |
Print extra diagnostics during the exciton build. | no |
exmod_tdinfo |
Print TDDFT/CIS auxiliary information during monomer-LE steps. | no |
exmod_ct |
Number of orbital pairs to include in the CT block (0/no = disabled). Generates \(2M(M-1)N^2\) CT states. | 0 |
exmod_tda_ct |
Apply the Tamm-Dancoff approximation in the CT block. | no |
exmod_tt |
Include the triplet-triplet (multiexcitonic) state. Requires exmod_ct 1. |
no |
exmod_tda_tt |
Apply the Tamm-Dancoff approximation in the TT block. | no |
exmod_ct_tt_class |
Run a classification analysis on the mixed CT/TT block. | no |
exmod_tuning |
Reserved for automatic CT-orbital tuning; not yet implemented (will abort if set). | no |
exmod_approx |
Enable additional dimer-approximation strategies. | no |
exmod_min_dist |
Pair cutoff (Å). Pairs whose minimum interatomic distance exceeds this value are treated only at the electrostatic level. | \(10^9\) Å (disabled) |
exmod_gs_grad |
Compute the ground-state gradient. | no |
exmod_es_grad |
Compute the excited-state gradient (state selected by exmod_state). |
no |
exmod_num_grad |
Compute numerical gradients (verification only). | no |
exmod_gen_cube |
Generate cube files of monomer and exciton orbitals/densities. | no |
exmod_md |
Run an exciton-Hamiltonian Born-Oppenheimer MD. | no |
exmod_md_rst |
Read an existing exciton MD restart file. | yes |
exmod_dt |
MD timestep in fs. | 0.1 |
exmod_nsteps |
Number of MD steps. | 0 |
exmod_state |
Eigenstate of the exciton Hamiltonian to propagate (0 = lowest). | 0 |
exmod_nvt |
Use the Berendsen thermostat. | no |
exmod_ref_T |
Berendsen target temperature (K). | 300 |
exmod_tau_T |
Berendsen relaxation time (fs). | 20 |
exmod_esp_chg |
Run the per-monomer ESP fit during the exciton-model setup. | no |
exmod_esp_test |
Run ESP self-consistency tests during setup. | no |
exmod_esp_read |
Read ESP charges from a file; disables iterative ESP. | no |
exmod_esp_file |
File from which to read (or to which to write) ESP charges. | final.chg |
exmod_mm_0 |
Include MM atoms at the GS-only level. | no |
exmod_mm_iter |
Iterate the MM-induced ESP charges to self-consistency. | no |
exmod_mm_1 |
Include MM atoms in monomer Fock matrices. | no |
exmod_mm_2 |
Include MM atoms in dimer Fock matrices. | no |
exmod_use_pauli |
Add the Pauli repulsion from the dimer SCF to inter-monomer interaction. | no |
exmod_use_lj |
Augment inter-monomer interaction with a 6-12 Lennard-Jones term. | no |
exmod_excl_qmmm |
Exclude the QM/MM interaction energy/gradient from the reported totals. | no |
exmod_mm_freeze |
Freeze MM atoms during exciton-MD or FMS (no MM gradient). | no |
exmod_scan |
Scan the inter-monomer separation of the first dimer along the centre-of-mass axis. | no |
exmod_scan_rmin |
Starting separation for the scan (Å). | 1.80 |
exmod_scan_dr |
Step size for the scan (Å). | 0.15 |
exmod_scan_num |
Number of scan points. | 40 |
-
A. Sisto, D. R. Glowacki, T. J. Martínez, Acc. Chem. Res. 47, 2857-2866 (2014). ↩
-
X. Li, R. M. Parrish, F. Liu, S. I. L. Kokkila Schumacher, T. J. Martínez, J. Chem. Theory Comput. 13, 3493-3504 (2017). ↩
-
A. Sisto, C. Stross, M. W. van der Kamp, M. O'Connor, S. McIntosh-Smith, G. T. Johnson, E. G. Hohenstein, F. R. Manby, D. R. Glowacki, T. J. Martínez, Phys. Chem. Chem. Phys. 19, 14924-14936 (2017). ↩↩
-
X. Li, R. M. Parrish, T. J. Martínez, J. Chem. Phys. 153, 184116 (2020). ↩