TRIQS/triqs_modest 3.3.0
Brillouin zone summation
Loading...
Searching...
No Matches
triqs::modest::local_space

#include <triqs_modest/local_space.hpp>

Detailed Description

Describe the atomic orbitals within downfolded \(\mathcal{C}\) space.

The local space 𝓒 defines the correlated subspace which defines impurities to be solved within DMFT.

The DFT + DMFT equations involve three different spaces, following (mostly) the notations of [S. Beck et al. 2022]():

  • The (reduced) Bloch space \({\cal B}\) contains bands of dispersion \(\varepsilon_{\nu}^{\sigma}(\mathbf{k})\), in some window of energy. Here, \(\nu\) is the band index ( \(0 \leq \nu < N_\nu^{\mathbf{k}}\)) and \(\mathbf{k}\) is a point in the Brillouin zone. We define \(N_\nu \equiv \mathrm{max}_{\mathbf{k}} N_\nu^{\mathbf{k}}\).
  • The Wannier space \({\cal W}\) is spanned from Wannier functions constructed from \({\cal B}\).
  • The correlated space \({\cal C} \subseteq {\cal W}\) containing \(M\) Wannier orbitals, is a subspace of the Wannier space, in which the self-energy is approximated by the embedding. \({\cal C}\) is spanned by Wannier functions at several atoms/sites with index \(a\) at position \(R_a\) and orbital/Wannier index \(m_{a}\). \({\cal C}\) is indexed by a composite index \(m = (a, m_{a})\), with \(0\leq m \leq M-1\) and \(M=\sum_{a}\mathrm{max}(m_{a}\)). We will write the main equations with the composite \(m\) index, as the \(m = (a, m_{a})\) decomposition of \(m\) is not, in general, appropriate for embeddings.

The \(\sigma\) index is a general block diagonal index. In simple cases, it is the spin index, but not always.

  • In "spin (non-)polarized" computations, $\sigma$ is the spin index.
  • In spin-orbit or Nambu computations, the spin index is merged with \(m\) and \(\nu\), so \(\sigma =0\) (i.e. one value of the index, equivalent to no index at all).

Definition at line 39 of file local_space.hpp.

Public Member Functions

 local_space (spin_kind_e spin_kind, std::vector< atomic_orbs > atomic_shells, nda::array< std::vector< long >, 2 > irreps_decomp_per_atom, nda::array< nda::matrix< dcomplex >, 2 > rotation_from_dft_to_local_basis, nda::array< nda::matrix< dcomplex >, 1 > rotation_from_spherical_to_dft_basis)
 
Accessors
spin_kind_e spin_kind () const
 
long n_sigma () const
 Dimension of the σ index.
 
std::vector< std::string > sigma_names () const
 names of spin indices for naming blocks in block_gf
 
long dim () const
 Dimension of the correlated space.
 
std::vector< atomic_orbs > const & atomic_shells () const
 List of all atomic shells spanning the 𝓒 space.
 
long n_atoms () const
 The number of atoms.
 
nda::array< std::vector< long >, 2 > const & atoms_block_decomposition () const
 List of all blocks spanning 𝓒 space -> atoms_block_decomposition.
 
nda::array< nda::matrix< dcomplex >, 2 > const & rotation_from_dft_to_local_basis () const
 List of all (a, sigma) local rotation matices that rotate the data.
 
nda::array< nda::matrix< dcomplex >, 1 > const & rotation_from_spherical_to_dft_basis () const
 List of rotation matrices from spherical harmonics to dft specific orbital basis.
 
long first_shell_of_its_equiv_cls (long idx) const
 Given the index idx of an atomic shell, return the index of the first atomic shell of its equivalence class.
 
std::vector< std::string > atom_names () const
 Names of the atoms in the orbital set.
 
auto atomic_decomposition () const
 Generates [dimension of the atomic shell].
 
Views and shapes
template<typename Mesh >
block2_gf< Mesh > atomic_view (block2_gf< Mesh > const &G_C)
 Views a block2gf according to the atomic decomposition.
 
nda::array< nda::matrix< dcomplex >, 2 > atomic_view (nda::array< nda::matrix< dcomplex >, 2 > const &matrix_C)
 Creates an atomic view of block matrices by extracting specific slices based on the atomic decomposition of the current object.
 
C2PY_IGNORE gf_struct2_t Gc_block_shape () const
 Shape of the Green function in the correlated space, without block decomposition.
 
C2PY_IGNORE gf_struct2_t Gatom_block_shape () const
 Shape of the Green function in the correlated space, decomposed by atomic shells.
 

Friends

void h5_read (h5::group g, std::string const &name, local_space &ls)
 h5 read/write
 
void h5_write (h5::group g, std::string const &name, local_space const &ls)
 

Constructor & Destructor Documentation

◆ local_space()

triqs::modest::local_space::local_space ( spin_kind_e  spin_kind,
std::vector< atomic_orbs atomic_shells,
nda::array< std::vector< long >, 2 >  irreps_decomp_per_atom,
nda::array< nda::matrix< dcomplex >, 2 >  rotation_from_dft_to_local_basis,
nda::array< nda::matrix< dcomplex >, 1 >  rotation_from_spherical_to_dft_basis 
)

Definition at line 10 of file local_space.cpp.

Member Function Documentation

◆ atom_names()

std::vector< std::string > triqs::modest::local_space::atom_names ( ) const
inline

Names of the atoms in the orbital set.

Definition at line 116 of file local_space.hpp.

◆ atomic_decomposition()

auto triqs::modest::local_space::atomic_decomposition ( ) const
inline

Generates [dimension of the atomic shell].

Definition at line 119 of file local_space.hpp.

◆ atomic_shells()

std::vector< atomic_orbs > const & triqs::modest::local_space::atomic_shells ( ) const
inline

List of all atomic shells spanning the 𝓒 space.

Definition at line 95 of file local_space.hpp.

◆ atomic_view() [1/2]

template<typename Mesh >
block2_gf< Mesh > triqs::modest::local_space::atomic_view ( block2_gf< Mesh > const &  G_C)
inline

Views a block2gf according to the atomic decomposition.

Template Parameters
MeshThe Green's function meesh
Parameters
G_CA block2_gf spanning the entire C space [0, sigma](M, M)
Returns
A block2_gf in the atomic decomposition view [atom, sigma][m_orb, m_orb]

Definition at line 137 of file local_space.hpp.

◆ atomic_view() [2/2]

nda::array< nda::matrix< dcomplex >, 2 > triqs::modest::local_space::atomic_view ( nda::array< nda::matrix< dcomplex >, 2 > const &  matrix_C)

Creates an atomic view of block matrices by extracting specific slices based on the atomic decomposition of the current object.

Parameters
matrix_CThe input block matrices object from which the atomic view is created.
Returns
new block matrices in the atomic view.

Definition at line 34 of file local_space.cpp.

◆ atoms_block_decomposition()

nda::array< std::vector< long >, 2 > const & triqs::modest::local_space::atoms_block_decomposition ( ) const
inline

List of all blocks spanning 𝓒 space -> atoms_block_decomposition.

Definition at line 102 of file local_space.hpp.

◆ dim()

long triqs::modest::local_space::dim ( ) const
inline

Dimension of the correlated space.

Definition at line 92 of file local_space.hpp.

◆ first_shell_of_its_equiv_cls()

long triqs::modest::local_space::first_shell_of_its_equiv_cls ( long  idx) const

Given the index idx of an atomic shell, return the index of the first atomic shell of its equivalence class.

Definition at line 26 of file local_space.cpp.

◆ Gatom_block_shape()

C2PY_IGNORE gf_struct2_t triqs::modest::local_space::Gatom_block_shape ( ) const
inline

Shape of the Green function in the correlated space, decomposed by atomic shells.

Definition at line 165 of file local_space.hpp.

◆ Gc_block_shape()

gfs::gf_struct2_t triqs::modest::local_space::Gc_block_shape ( ) const

Shape of the Green function in the correlated space, without block decomposition.

Definition at line 44 of file local_space.cpp.

◆ n_atoms()

long triqs::modest::local_space::n_atoms ( ) const
inline

The number of atoms.

Definition at line 98 of file local_space.hpp.

◆ n_sigma()

long triqs::modest::local_space::n_sigma ( ) const
inline

Dimension of the σ index.

Definition at line 83 of file local_space.hpp.

◆ rotation_from_dft_to_local_basis()

nda::array< nda::matrix< dcomplex >, 2 > const & triqs::modest::local_space::rotation_from_dft_to_local_basis ( ) const
inline

List of all (a, sigma) local rotation matices that rotate the data.

Definition at line 105 of file local_space.hpp.

◆ rotation_from_spherical_to_dft_basis()

nda::array< nda::matrix< dcomplex >, 1 > const & triqs::modest::local_space::rotation_from_spherical_to_dft_basis ( ) const
inline

List of rotation matrices from spherical harmonics to dft specific orbital basis.

Definition at line 108 of file local_space.hpp.

◆ sigma_names()

std::vector< std::string > triqs::modest::local_space::sigma_names ( ) const
inline

names of spin indices for naming blocks in block_gf

Definition at line 86 of file local_space.hpp.

◆ spin_kind()

spin_kind_e triqs::modest::local_space::spin_kind ( ) const
inline

Accessor for the spin kind

Definition at line 80 of file local_space.hpp.

Friends And Related Symbol Documentation

◆ h5_read

void h5_read ( h5::group  g,
std::string const &  name,
local_space ls 
)
friend

h5 read/write

Definition at line 81 of file h5.cpp.

◆ h5_write

void h5_write ( h5::group  g,
std::string const &  name,
local_space const &  ls 
)
friend

Definition at line 88 of file h5.cpp.


The documentation for this class was generated from the following files: