TRIQS/triqs_modest 3.3.0
Modular Electronic Structure Toolkit
Loading...
Searching...
No Matches
Embedding

Detailed Description

The embedding abstraction in ModEST.

The embedding class describes a mapping between the impurity solvers and the the local correlated space \(\mathcal{C}\). We provide factory functions to construct the embedding from the triqs::modest::local_space. The embedding class has unary operations and complex operations.

Classes

class  triqs::modest::embedding
 The embedding class. More...
 

Embedding factories functions

Factory functions to create the embedding class for different embedding scenarios. Typically, one will create the embedding from the local space.

embedding triqs::modest::make_embedding (local_space const &C_space, bool use_atom_equivalences=true, bool use_atom_decomp=false)
 Make an embedding from the local space.
 
std::pair< one_body_elements_on_grid, embeddingtriqs::modest::make_embedding_with_clusters (one_body_elements_on_grid obe, std::vector< std::vector< long > > const &atom_partition)
 Make an embedding for clusters of atoms.
 

Function Documentation

◆ make_embedding()

embedding triqs::modest::make_embedding ( local_space const &  C_space,
bool  use_atom_equivalences = true,
bool  use_atom_decomp = false 
)

#include <triqs_modest/embedding.cpp>

Make an embedding from the local space.

This function creates an embedding object from the local space, which is typically used in ModEST for embedding calculations. The default behavior is to use the equivalences between different atoms when constructing the embedding and to use the irrep decomposition of the atomic orbitals. Instead of the irrep decomposition, one can use the atomic decomposition.

Parameters
C_spaceThe local space from a one-body elements (on grid/tight-binding).
use_atom_equivalencesUse the equivalences between different atoms when constructing the embedding.
use_atom_decompUse the atomic decomposition instead of the atomic orbital decomposition.
Returns
Embedding object.

Definition at line 118 of file embedding.cpp.

◆ make_embedding_with_clusters()

std::pair< one_body_elements_on_grid, embedding > triqs::modest::make_embedding_with_clusters ( one_body_elements_on_grid  obe,
std::vector< std::vector< long > > const &  atom_partition 
)
inline

#include <triqs_modest/embedding.hpp>

Make an embedding for clusters of atoms.

This function creates an embedding object from the one-body elements on grid (obe) and a partition of the atoms into clusters. The clusters are defined by the atom_partition, which is a vector of vectors, where each inner vector contains the indices of the atoms in the cluster. The resulting one-body elements on grid will have the atoms permuted according to the atom_partition.

Parameters
obeOne-body elements on grid (obe) to permute.
atom_partitionNew partition of the atoms into clusters, where each inner vector contains the indices of the atoms in the cluster.
Returns
A new one-body elements on grid and the corresponding embedding object.

Definition at line 436 of file embedding.hpp.