Theory and notation
This page collects the notations and equations behind the DFT + DMFT implementation in ModEST and the general organization of that implementation.
Note
Status: in progress.
Notation and basic equations
The σ index
The \(\sigma\) index is a general block-diagonal index. In simple cases it is the spin index, but not always.
In “spin (non-)polarized” computations, \(\sigma\) is the spin index.
In spin-orbit or Nambu computations, the spin index is merged with \(m\) and \(\nu\), so \(\sigma = 0\) (i.e. a single value of the index, equivalent to no index at all).
Projectors
The projectors \(P_{m\nu}^{\sigma}(\mathbf{k})\) connect the Bloch space \(\mathcal{B}\) to \(\mathcal{C}\). They are obtained from DFT codes or Wannier90, and are defined by
where \(|\chi_{m_a}^{R_a\, \sigma}\rangle\) is a Wannier function localized at atom \(a\) with index \(m_a\) at position \(R_a\), and \(|\psi_{\nu}^{\sigma}(\mathbf{k})\rangle\) is the Kohn–Sham wavefunction. The relation between the Wannier and Bloch functions is
Properties.
Basis change in \(\mathcal{C}\) space. Under a unitary transformation \(U\) the projector transforms as
(1)\[P_{m\nu}^{\prime\, \sigma}(\mathbf{k}) = U^{\dagger}_{m, m'}\, P_{m'\nu}^{\sigma}(\mathbf{k}).\]Partial unitarity. In general \(P\) is not unitary because \(N_\nu^{\mathbf{k}} > M\). However, if the Wannier functions are reorthonormalized with respect to the truncated band basis, then
(2)\[\sum_{\nu} P_{m\nu}^{\sigma}(\mathbf{k})\, P_{\nu m'}^{\dagger\, \sigma}(\mathbf{k}) = \delta_{m m'}.\]
DMFT equations
The Green’s function in the Bloch space is
where \(\Sigma_{\mathcal{B}}^{\sigma}\) is the upfolded self-energy, \(\mu\) is the chemical potential, and \(\omega\) is the frequency (real or Matsubara). Additional terms such as a magnetic field \(h\) can be added.
The upfolded self-energy \(\Sigma_{\mathcal{B}}^{\sigma}\) is obtained by upfolding the embedded self-energy from \(\mathcal{C}\):
where \(\Sigma_{\mathrm{embed}}\) is the embedded self-energy — in simple cases just the impurity self-energy \(\Sigma_{\mathrm{imp}}\), in general built from several impurity self-energies (see below) — and \(\Sigma_{\mathrm{DC}}\) is the double-counting correction.
The local Green’s function in the correlated space \(\mathcal{C}\) is the projection of \(G_{\mathcal{B}}^{\sigma}\) onto \(\mathcal{C}\) with \(P\), summed over the Brillouin zone:
The sum over the BZ is normalized, i.e. \(\sum_{\mathbf{k}} 1 = 1\).
Number of electrons
The density is defined by
It can also be computed in \(\mathcal{C}\) (see Derivation of the local Green’s function). The trace of \(G_{\mathcal{B}}^{\sigma}\) can be rewritten as a correction to the trace of the Kohn–Sham Green’s function \(G_{\mathrm{KS}}^{\sigma}\):
where the second trace is taken in \(\mathcal{C}\) and
This yields
with the bare Kohn–Sham density
where \(n_F\) is the Fermi function.
Remarks:
This computation is performed many times while adjusting \(\mu\) in the DMFT loop, so it is important to optimize.
The correction term is a difference of Green’s functions (\(G_{\mathcal{B}} - G_{\mathrm{KS}}\)); it can therefore be evaluated on the frequency DLR mesh, transformed to imaginary time, and its density read off at \(\tau = 0^{-}\).
As before, once \(G_{\mathcal{C}, 0}\) is computed, the whole calculation lives in \(\mathcal{C}\).
In general \(\sum_{\mathbf{k}} n^{\sigma}(\mathbf{k}) \neq \mathrm{Tr}\, G_{\mathrm{loc}}\) unless \(P\) is unitary (\(P^{\dagger} P = 1\)), as follows from (5) or (9).
Definitions
The projected bare Green’s function \(G_{\mathcal{C}, 0}^{\sigma}\) and the self-energy \(\Sigma_{\mathcal{C}}^{\sigma}\) carry a block structure in \(\mathcal{C}\). The block structure of \(G_{\mathcal{C}, 0}\) (if any) is given by symmetry (irreps); we do not consider it yet at this stage. The block structure of \(\Sigma_{\mathcal{C}}^{\sigma}\) reflects a choice of embedding: the self-energy can have blocks corresponding to atoms, larger blocks corresponding to clusters, or smaller blocks when each atom’s orbitals are decomposed by symmetry.
\(\mathcal{C}\) can be decomposed in many different ways: its composite index \(m\) admits various subdivisions \(m = (\gamma, m_{\gamma})\) with \(\sum_{\gamma} \max(m_{\gamma}) = M\). The block decomposition associated with the self-energy is called the embedded decomposition and denoted \(m = (\alpha, m_{\alpha})\). Examples:
Atomic decomposition: \(m = (a, m_a)\), with \(a\) labeling atoms and \(m_a\) the orbital of atom \(a\).
Embedded decomposition for single-site DMFT with symmetry: each atom is decomposed into smaller blocks given by its irreps.
Embedded decomposition for cluster DMFT: several atoms in the unit cell are grouped into a cluster.
Clusters spanning atoms in the unit cell amount to choosing a different decomposition of \(\mathcal{C}\). For clusters spanning atoms in different unit cells, the one-body problem is transformed into a superlattice and a proper decomposition in the supercell is used.
Basis preparation
The strategy is to decompose \(\mathcal{C}\) using a basis adapted to embedding. Each block of the embedded self-energy is then mapped to the corresponding impurity-model self-energy (see Embedding).
The projectors come from the DFT code or Wannier90 in some global coordinate system of the crystal. Two basis transformations are required before performing the embedding:
A coordinate-system rotation \(R^{a}_{m_a, m_a'}\) from the global coordinate system into the local coordinate system of atom (site) \(a\). This rotation ensures that equivalent atoms have the same self-energy in the new basis and can therefore be solved by the same impurity model.
Optionally, a second rotation \(U\) that infers the irreps from the local Hamiltonian. At this stage the proper irrep information is not retrieved from the electronic-structure code, so we examine the local non-interacting Hamiltonian
\[[H_{\mathrm{loc}}^{0}]_{m_a m_a'}^{a, \sigma} \equiv \sum_{\mathbf{k}} P_{(a, m_a)\,\nu}^{\sigma}(\mathbf{k})\, \varepsilon_{\nu\nu'}^{\sigma}(\mathbf{k})\, \bigl[P_{(a', m_a')\,\nu'}^{\sigma}(\mathbf{k})\bigr]^{\dagger}.\]Its block structure is inferred up to a user-defined threshold by finding a permutation of the orbitals \(m_a\) that renders \(H_{\mathrm{loc}}^{0}\) block-diagonal. Optionally, these smaller blocks of the local non-interacting Hamiltonian can be diagonalized (to reduce the off-diagonal elements of the impurity-model hybridization functions \(\Delta_{m m'}^{\sigma}\)).
The Wannier basis is therefore transformed as in (1):
See Derivation of the fused projector for the full derivation.
Note
In previous codes, all rotations were performed during the embedding. Here we instead prepare the basis up front to absorb them, which makes the embedding itself much simpler — effectively, we work in a “local coordinate” basis in \(\mathcal{C}\).
Embedding
The embedded self-energy is constructed from \(n_{\mathrm{imp}}\) impurity-model self-energies. We denote by \([\Sigma_{\mathrm{imp}}]^{n_{\mathrm{imp}}, \tau}\) the self-energy of impurity model \(n_{\mathrm{imp}}\) with block index \(\tau\). The embedding is
In words, the self-energy of block \((\alpha, \sigma)\) is taken from impurity self-energy \(n_{\mathrm{imp}}(\alpha)\) in block \((\gamma(\alpha), \tau(\sigma))\). This requires that the embedding blocks \(\alpha\) and the impurity blocks \(\gamma\) have the same dimensions. The embedding is therefore fully characterized by a function
This covers, in particular:
Equivalent atoms — use the same impurity model (same \(n_{\mathrm{imp}}\)) for different blocks \(\alpha\).
Antiferromagnetism — reverse the spin for some atoms, \(\tau(\sigma) = 1 - \sigma\).
Splitting impurity models — depending on the block structure, the impurity model connected to atom \(a\) can be split and solved with different impurity solvers, with self-energies mapped back to atom \(a\). A trivial solver can also be used to obtain a zero self-energy (“drop”).
Cluster DMFT — regroup a subset of atoms \(a\) into a larger “super atom” treated as a cluster DMFT problem.
Arbitrary magnetic orders (spirals, …).
All rotations (e.g. local-to-global coordinate systems) have been absorbed into the projector \(P\) during basis preparation, which is what makes the embedding itself simple: first prepare the basis adapted to the embedding, then perform the embedding.
Appendices
Derivation of the local Green’s function
We use the Woodbury formula: if \(D\) is an invertible \(n \times n\) matrix (here diagonal, but not necessarily so), and \(U\), \(V\) are \(n \times p\) and \(p \times n\) matrices respectively (\(p < n\)), then
The inversion is now performed on a \(p \times p\) matrix.
Consider the upfolded self-energy (3). Working at fixed \(\omega, \mathbf{k}, \sigma\) (and dropping these labels below), denote \(\Sigma = \Sigma_{\mathcal{C}}^{\sigma}\) and define
Writing the lattice Green’s function as \(G_{\mathrm{latt}}\) for clarity,
With \(U = P^{\dagger}\), \(V = \Sigma P\) and \(Y = G_{\mathcal{C}, 0}\), the Woodbury identity gives
Hence
which is (7).
Derivation of the projected density
Rewrite (8) as
where the trace runs over the band index \(\nu\) and Matsubara frequencies. Taking the trace of (14),
which is (11).
Integration in the irreducible Brillouin zone wedge
For efficiency, the one-body calculation can be performed on the irreducible Brillouin zone (IBZ). To recover observables like the local Green’s function defined in (5), the result must be symmetrized after summing only on the IBZ. For any observable \(\mathcal{O}\), the unsymmetrized quantity is
Symmetrization applies all operations \(\mathcal{S}\) of the crystallographic space group \(\mathcal{G}\):
Derivation of the fused projector
In what follows all indices are suppressed; quantities live in either the Wannier space (indices \(m, m'\)) or the Bloch space (indices \(\nu, \nu'\)) depending on context. Starting from the impurity self-energies \(\Sigma_{\mathrm{imp}}\), the embedded self-energy is
The OBE projectors are defined in the global coordinate system of the crystal, so \(\Sigma_{\mathrm{embed}}\) must be rotated:
The embedded self-energy is then upfolded,
the local Green’s function is obtained from the lattice Green’s function,
rotated to the local frame,
and finally rotated to the impurity-solver basis,
All of these operations can be fused into a single projector
For problems requiring symmetrization, the \(Q\) matrices must likewise be rotated by \(R U\).