Realistic DMFT and electronic structure
This page describes how dynamical mean-field theory (DMFT) is combined with realistic electronic-structure methods — density-functional theory (DFT) – and how ModEST organizes that combination in code. The project stands on the shoulders of triqs/dft_tools. While introducing all of the concepts, we will introduce the core ModEST abstractions: one-body elements, embedding, and k-summation.
The lattice Hamiltonian + self-energy problem
The interacting lattice Green’s function reads (see (3)–(4))
where \(H^{\sigma}(\mathbf{k})\) is the Kohn–Sham one-body Hamiltonian on the chosen band window, \(\mu\) is the chemical potential, \(\Sigma_{\mathrm{imp}}^{\sigma}\) is the impurity self-energy supplied by an impurity solver, and \(\Sigma_{\mathrm{DC}}^{\sigma}\) is the double-counting correction that removes the static local-interaction contribution already present in the DFT exchange-correlation functional.
The DMFT self-consistency cycle
DMFT closes a loop on the impurity Green’s function by demanding that the impurity Green’s function equals the local Green’s function obtained by projecting \(G_{\mathcal{B}}\) onto \(\mathcal{C}\):
Operationally, each DMFT iteration consists of the following steps:
Upfold the embedded self-energy. Given the current impurity self-energy \(\Sigma_{\mathrm{imp}}^{\sigma}\) and the double-counting term \(\Sigma_{\mathrm{DC}}^{\sigma}\), build the embedded self-energy \(\Sigma_{\mathrm{embed}}^{\sigma} = \Sigma_{\mathrm{imp}}^{\sigma} - \Sigma_{\mathrm{DC}}^{\sigma}\) and upfold it to \(\mathcal{B}\) via \(P^{\dagger}\cdot P\).
Compute the local Green’s function by k-summation ((5) / (7)).
Adjust the chemical potential so that the total particle number matches the target density.
Extract impurity-level inputs for the solver: the impurity levels \(E_{\mathrm{imp}}\) and the hybridization function \(\Delta(\omega)\) obtained from \(G_{\mathcal{C},\,\mathrm{loc}}^{\sigma}\).
Solve the impurity model to obtain a new \(\Sigma_{\mathrm{imp}}^{\sigma}\) and iterate to convergence.
Charge self-consistency
In one-shot DFT+DMFT the KS Hamiltonian \(H^{\sigma}(\mathbf{k})\)
is fixed at its DFT value. In charge self-consistent DFT+DMFT (CSC)
the DMFT-corrected density is fed back into the DFT code, which
recomputes \(H^{\sigma}(\mathbf{k})\) and the projectors
\(P(\mathbf{k})\). The two loops are nested: DFT updates the
electronic density and the Kohn–Sham potential; DMFT updates the
self-energy on \(\mathcal{C}\). ModEST provides a generic
triqs_modest.dft_driver.DftDriver interface that hides
code-specific details (VASP, Quantum ESPRESSO, Wien2k, …) behind two
hooks: run_initial_stage (initial DFT run) and run_update_stage
(DFT update given a DMFT charge-density correction).
How ModEST organizes the calculation
The three primitives that appear in every realistic DMFT calculation map directly onto ModEST objects:
One-body elements — the projector \(P(\mathbf{k})\), the Kohn–Sham dispersion \(\varepsilon_{\nu}^{\sigma}(\mathbf{k})\), and (for CSC) the band character matrices and the symmetries used to unfold to the full Brillouin zone. See One-body elements.
Embedding — the embedding object is the central bookkeeper that carries every mapping between the impurity problems and the solid: upfolding the impurity self-energies into the embedded self-energy on \(\mathcal{C}\), downfolding the local Green’s function back to each impurity, applying the basis rotations that absorb local coordinate systems and symmetry adaptations, and gluing equivalent atoms, magnetic-order patterns, split/dropped impurities, and cluster-DMFT groupings into a single, consistent description. The DMFT loop only ever sees impurity-shaped objects on one side and lattice-shaped objects on the other — the embedding handles the translation in both directions. See Embedding.
k-summation — local Green’s function, density, chemical-potential search, and charge-density correction. The k-sums are implemented on the Woodbury-reduced form of the Dyson equation ((7)): every inversion happens in the small \(\mathcal{C}\) space rather than in the full band space \(\mathcal{B}\), which is what makes the lattice-side cost of a DMFT iteration cheap even for large band windows. The k-sums are MPI-parallel, with per-\(\mathbf{k}\) work dispatched across ranks. See DMFT loop and Charge self-consistency.
For the underlying notation, conventions, and derivations, continue to Theory and notation.