TRIQS/triqs_modest 3.3.0
Brillouin zone summation
|
The Modular Electronic Structure Toolkit (ModEST) provides the necessary tooling to perform DMFT-type calculations in the context of electronic structure including density-functional theory (DFT) and many-body perturbation theory (MBPT).
Modularity is achieved through four key abstractions
These abstractions let you describe complex DMFT problems – from simple single-site DMFT to multi-impurity, spin-orbit, or cluster DMFT –in a clean and modular way.
Efficiency and performance are achieved via a modern C++ implementation, and all functionality is fully exposed in Python, making it possible to prototype and run production calculations in either language.
If you are looking for a specific function, class, etc., try using the search bar in the top left corner.
One-body elements (obe for short) contains all of the one-body data that is typically converted from a density-functional theory (DFT) calculation or Wannier90 calculation. The one-body elements struct contains four components (obe_components) :
To make it easy to build this object, ModEST provides factory functions that convert raw DFT data (from codes like VASP, Wien2k, or Wannier90) into fully prepared OBE objects ready for DMFT.
The embedding object is the central controller of the DMFT problem: it defines how the correlated subspace ( \(\mathcal{C}\)) is partitioned into impurityies and handles the bookkeeping needed to map back and forth between the lattice and the impurities.
Typical use cases covered by embedding:
The embedding object provides:
This abstrction simplifies the DMFT loop, making it easy to construct arbitrary embedding scenarios.
A central quantity of the DMFT self-consistency condition – the local Green's function defined as $$ [ G_{\mathrm{loc}}^{\sigma} ]_{m m'} = \sum_{\mathbf{k}} P_{m\nu}^{\sigma}(\mathbf{k}) \Big [ (\omega + \mu)\delta_{\nu\nu'} - H^{\sigma}_{\nu\nu'}(\mathbf{k}) - [P_{m\nu}^{\sigma}]^{\dagger}\Sigma_{\mathrm{embed}}P_{m'\nu'}^{\sigma}(\mathbf{k}) \Big ]^{-1} [P_{m'\nu'}^{\sigma}]^{\dagger},$$ where \(\omega\) is a frequency (either real- or Matsubra), \(\mu\) is the chemical potential, \(H(\mathbf{k})\) is the one-body Hamiltonian, \(P(\mathbf{k})\) are the projectors from the band to the orbital basis, and \(\Sigma_{\mathrm{embed}}\) is the embedded self-energy.
ModEST computes this efficiently:
The hybridization function \(\Delta(\omega)\) is a key input to TRIQS impurity solvers. It describes the coupling of each impurity to the bath:
$$ [\Delta^{\sigma}(\omega)]_{mm'} = \omega - \tilde{\varepsilon} - G_{\mathrm{loc}}^{-1}(\omega) - \Sigma_{\mathrm{imp}}(\omega),$$
where \(\tilde{\varepsilon} = \varepsilon - \mu - \Sigma_{\mathrm{DC}}\).
Calculate the total electronic density from the lattice Green's function and search for the chemical potential \(\mu\) that gives a target electorn count. We provide several algorithms optimized for speed and robusness. Due to the modularity you can also leverage exteranl root finding routines to write a custom chemical potential search.
To describe local interactions, ModEST provides tools to construct standard interaction Hamiltonians:
All built using TRIQS many-body operators.
This design makes it easier to swap and test different double counting schemes.
Compute spectral functions and related quantities:
Plot-ready output to help you analyze and publish results.
Extra tools that make life easier:
No more boilerplated HDF5 code.
The checkpoint object saved DMFT calculation data (Green's functions, self-energies, etc.) in a clean, standardized HDF5 layout – automatically organized by iteration.
Analyze Green's functions analyze and symmetrize degenerate Green's function blocks.
Double Counting DFT+DMFT requires subtracting a "double counting" term \(\Sigma_{\mathrm{DC}}\) to avoid counting static correlations twice. ModEST abstracts this into a dedicated solver that computes \(\Sigma_{\mathrm{DC}}\) based on dirrect formulas.