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);
24 int value = h5_read<int>(g, name);
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);
99 h5_read(subgroup,
"imp_decomps", embed.imp_decomps);
101 h5_read(subgroup,
"sigma_names", embed._sigma_names);
105 auto subgroup = g.create_group(name);
106 h5_write(subgroup,
"sigma_embed_decomp", embed.sigma_embed_decomp);
107 h5_write(subgroup,
"imp_decomps", embed.imp_decomps);
109 h5_write(subgroup,
"sigma_names", embed._sigma_names);
114 auto subgroup = g.open_group(name);
121 auto subgroup = g.create_group(name);
Describe the atomic orbitals within downfolded space.
void h5_write(h5::group g, std::string const &name, initial_data const &data)
spin_kind_e
Kind of σ index.
void h5_read(h5::group g, std::string const &name, initial_data &data)
The one-body dispersion as a function of momentum.
nda::array< long, 2 > n_bands_per_k
n_bands_per_k [k_idx, σ'] = # of nu
nda::array< double, 1 > k_weights
k_weights[k_idx]
nda::array< dcomplex, 4 > H_k
H_k [k_idx, σ', nu, nu'].
spin_kind_e spin_kind
Spin kind of the one-body data.
The projector that downfolds the one-body dispersion (ν) onto local orbitals (m).
nda::array< dcomplex, 4 > P_k
Pk[alpha][k_idx, σ', m_alpha, nu].
nda::array< long, 2 > n_bands_per_k
n_bands_per_k [k_idx, σ'] = # of nu
A one-body elements struct where all of the underlying data exists on a fixed momentum grid.