Changelog
Version 4.0.1
ModEST version 4.0.1 is a patch release that pins the c2py build dependency to the 0.9.x release branch and fixes several documentation issues. c2py is fetched at build time and its Python type registry is only compatible between modules built from the same revision, so tracking a moving branch could leave a fresh ModEST build incompatible with the released triqs 4.0.x.
We thank all contributors: Thomas Hahn, Alexander Hampel, Nils Wentzell
Find below an itemized list of changes in this release.
deps
Pin c2py to the 0.9.x release branch for the 4.0.x release
doc
Add a Zenodo DOI badge to the README
Fix the documentation website URLs to not use the
triqs_prefixDrop 3.3.x from the documentation version switcher, as there is no 3.3.x release branch
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