triqs_modest.obe.LocalSpace

class triqs_modest.obe.LocalSpace

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

The local space \(\mathcal{C}\) 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).


Dispatched C++ constructor(s).

[1] (spin_kind: str {"Polarized", "NonPolarized", "NonColinear"},
     atomic_shells: [AtomicOrbs],
     irreps_decomp_per_atom: ndarray[[int], 2],
     rotation_from_dft_to_local_basis: ndarray[ndarray[complex, 2], 2],
     rotation_from_spherical_to_dft_basis: ndarray[ndarray[complex, 2], 1])

[2] ()

Construct a new local space object.

Parameters:
spin_kindstr {“Polarized”, “NonPolarized”, “NonColinear”}

Kind of \(\sigma\) index.

atomic_shells[AtomicOrbs]

List of all atomic orbitals.

irreps_decomp_per_atomndarray[[int], 2]

List of all blocks spanning \(\mathcal{C}\) space -> atoms_block_decomposition.

rotation_from_dft_to_local_basisndarray[ndarray[complex, 2], 2]

Rotation matices from DFT to local basis.

rotation_from_spherical_to_dft_basisndarray[ndarray[complex, 2], 1]

Rotation matrices from spherical to DFT basis.

Attributes

atom_names

Names of the atoms in the orbital set.

atomic_decomposition

Transformed view containing the dimension of each atomic shell.

atomic_shells

List of all atomic shells spanning the \(\mathcal{C}\) space.

atoms_block_decomposition

2-dim array of all blocks spanning \(\mathcal{C}\) space -> atoms_block_decomposition.

dim

Dimension of the correlated space.

n_atoms

The number of atoms.

n_sigma

Dimension of the \(\sigma\) index.

rotation_from_dft_to_local_basis

2-dim array of all \((a, \sigma)\) local rotation matices that rotate the data.

rotation_from_spherical_to_dft_basis

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

sigma_names

Names of spin indices for naming blocks in block GFs.

spin_kind

Spin kind of \(\sigma\) index.

Methods

atomic_view

Views a 2-dim block GF according to the atomic decomposition.

first_shell_of_its_equiv_cls

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