11template <> h5::hid_t h5::detail::hid_t_of<triqs::modest::embedding::imp_block_t>() {
12 using S = triqs::modest::embedding::imp_block_t;
13 hid_t type = H5Tcreate(H5T_COMPOUND,
sizeof(S));
14 H5Tinsert(type,
"imp_idx", HOFFSET(S, imp_idx), H5T_NATIVE_INT);
15 H5Tinsert(type,
"gamma", HOFFSET(S, gamma), H5T_NATIVE_INT);
16 H5Tinsert(type,
"tau", HOFFSET(S, tau), H5T_NATIVE_INT);
29 int value =
static_cast<int>(spin_kind);
35 auto subgroup = g.open_group(name);
42 auto subgroup = g.create_group(name);
50 auto subgroup = g.open_group(name);
57 auto subgroup = g.create_group(name);
66 auto subgroup = g.open_group(name);
73 auto subgroup = g.create_group(name);
82 auto subgroup = g.open_group(name);
83 h5_read(subgroup,
"spin_kind", ls._spin_kind);
84 h5_read(subgroup,
"atomic_shells", ls._atomic_shells);
85 h5_read(subgroup,
"block_decomposition", ls._irreps_decomp_per_atom);
89 auto subgroup = g.create_group(name);
90 h5_write(subgroup,
"spin_kind", ls._spin_kind);
91 h5_write(subgroup,
"atomic_shells", ls._atomic_shells);
92 h5_write(subgroup,
"block_decomposition", ls._irreps_decomp_per_atom);
97 auto subgroup = g.open_group(name);
98 h5_read(subgroup,
"sigma_embed_decomp",
embed.sigma_embed_decomp);
105 auto subgroup = g.create_group(name);
106 h5_write(subgroup,
"sigma_embed_decomp",
embed.sigma_embed_decomp);
114 auto subgroup = g.open_group(name);
121 auto subgroup = g.create_group(name);
embedding(std::vector< long > sigma_embed_decomposition, std::vector< std::vector< long > > imp_decompositions, nda::array< imp_block_t, 2 > psi, std::vector< std::string > sigma_names)
Construct an embedding object.
std::vector< nda::array< dcomplex, Rank > > embed(std::vector< std::vector< nda::array< dcomplex, Rank > > > const &imps_blocks) const
Embed impurity data into the full correlated 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)
Construct a new local space object.
spin_kind_e
Kind of σ index.
void h5_read(h5::group g, std::string const &name, iteration_data &data)
void h5_write(h5::group g, std::string const &name, iteration_data const &data)
long dft_idx
Index of the atom in the dft code if any, or .
long cls_idx
Equivalent atoms will have the same sort index (sort).
long l
Angular quantum number.
long dim
Dimension of the orbital space.
The one-body dispersion as a function of momentum.
nda::array< long, 2 > n_bands_per_k
Number of bands for each k-point and .
nda::array< double, 1 > k_weights
Weight in the BZ for each k-point.
nda::array< dcomplex, 4 > H_k
Hamiltonian .
spin_kind_e spin_kind
Spin kind of the one-body data.
The projector that downfolds the energy bands onto a set of localized atomic-like orbitals.
spin_kind_e spin_kind
Spin kind of the one-body data.
nda::array< dcomplex, 4 > P_k
Projector .
nda::array< long, 2 > n_bands_per_k
Number of bands for each k-point and .
A one-body elements struct where all of the underlying data exists on a fixed momentum grid.
local_space C_space
Local space.
band_dispersion H
Band dispersion.
downfolding_projector P
Downfolding projector .