Changelog
Version 4.0.0
This is the first public release of ModEST, the Modular Electronic Structure Toolkit. ModEST is the electronic-structure extension pack to TRIQS, providing the building blocks for generic quantum-embedding (DMFT and beyond) calculations in connection with electronic-structure methods such as DFT and many-body perturbation theory.
This release requires a TRIQS installation of the same major and minor version (4.0) and is built on the latest app4triqs skeleton, with Python bindings generated by the clair + c2py framework.
We thank all contributors: Jennifer Coulter, Thomas Hahn, Alexander Hampel, Harrison LaBollita, Jae-Mo Lihm, Henri Menke, Olivier Parcollet, Dylan Simon, Nils Wentzell
The main features of this release are:
One-body elements and tight-binding
one_body_elements(OBE) types describing the one-body part of an embedding problem, both on a fixed k-grid and as a tight-binding model (obe_tb)Adaptive Brillouin-zone integration for tight-binding models, with a user-specified target accuracy
Construction of
obe_tbdirectly from atb_hamiltonian, and from GW inputMPI broadcast and equality operators for the one-body-element types
Embedding
embeddingclass describing the correlated subspace and its mapping to impurities, withembed/extractoperations dispatched on array rankSupport for constructing a two-particle embedding from a one-particle one, and for embedding/extraction of CoQui-type (GW+EDMFT) objects
split_block,make_embedding(incl. from HDF5 and atomic decomposition), spinless embeddings, and rotation of embedded self-energies for sign-problem optimizationAutomatic detection of unconnected impurities and degenerate-block analysis
Local Green’s function and charge self-consistency
Local Green’s function
glocwith a Woodbury-based inversion that scales linearly rather than cubically in the number of bandscharge_density_correctionfor charge self-consistent DFT+DMFTHybrid OpenMP/MPI parallelism in the density routines
Double counting and interaction Hamiltonians
dc_solversupporting spin-polarized and non-polarized double countingInteraction-Hamiltonian factories (
hamiltonians), including density-density interactions
DFT interfaces
Generic DFT driver and DFT-code-specific support (VASP, Quantum ESPRESSO, Wien2k), organized under
dft_tools/Loaders for
HkConverterand GW input
Post-processing and I/O
Spectral-function and Green’s-function post-processing utilities
HDF5 checkpointing of calculations
symmetrizefor block-matrix and Green’s-function types, and exposure ofibz_symmetry_opsto Python
Python bindings and documentation
Python bindings split into per-component submodules, generated with clair + c2py and compiled with hidden symbol visibility
Documentation built with Doxygen and Sphinx, including a charge self-consistent VASP+DMFT tutorial for SrVO3 and theory notes
Build, install and CI
Dependencies managed via CPM
Optional Git LFS test data (
Enable_LFS_Tests) for large multi-orbital testsGitHub Actions and TRIQS Jenkins CI for Linux (clang/gcc) and macOS