triqs_modest.embedding
The embedding abstraction in ModEST.
The embedding object is the central controller of the DMFT problem: it defines how the correlated subspace (\(\mathcal{C}\)) is partitioned into impurities and handles the bookkeeping needed to map back and forth between the lattice and the impurities.
Typical use cases covered by embedding:
Equivalent atoms: Use the same impurity model (i.e. same \(n_{\mathrm{imp}}\)) for different blocks \(\alpha\).
Magnetic order: Just reverse the spin for some atoms, \(\tau(\sigma) = 1-\sigma\).
Splitting impurity models : Depending on the block structure of the problem, the corresponding impurity model connected to atom \(a\) can be split. Different impurity solvers can then be used for each of these split impurity models. The self-energies from both models map back to the a single atom \(a\). Or a trivial solver is used to obtain zero self-energy (drop).
cluster DMFT: Re-group a subset of atoms \(a\) into a larger super atom which will be treated as a cluster DMFT problem.
The embedding object provides:
Factory functions to conveniently construct common embeddings.
Operations to adapt and modify an embedding (e.g., split, drop, etc.).
Methods to map data between impurity and embed spaces.
This abstrction simplifies the DMFT loop, making it easy to construct arbitrary embedding scenarios.
Functions
Construct the embedding class from the local space, a description of the block decomposition, and an |
|
Make an embedding from the local space. |
|
Make an embedding for clusters of atoms. |
Classes
The embedding class. |
|
Struct representing an impurity block. |