TRIQS/nrgljubljana_interface 4.0.0
A TRIQS application
Loading...
Searching...
No Matches
container_set.hpp
1/*******************************************************************************
2 *
3 * nrgljubljana_interface: A TRIQS interface to the nrgljubliana impurity solver
4 *
5 * Copyright (c) 2019 The Simons foundation
6 * authors: Rok Zitko, Nils Wentzell
7 *
8 * nrgljubljana_interface is free software: you can redistribute it and/or modify it under the
9 * terms of the GNU General Public License as published by the Free Software
10 * Foundation, either version 3 of the License, or (at your option) any later
11 * version.
12 *
13 * nrgljubljana_interface is distributed in the hope that it will be useful, but WITHOUT ANY
14 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
16 * details.
17 *
18 * You should have received a copy of the GNU General Public License along with
19 * nrgljubljana_interface. If not, see <http://www.gnu.org/licenses/>.
20 *
21 ******************************************************************************/
22#pragma once
23#include "./types.hpp"
24
25namespace nrgljubljana_interface {
26
29
31 std::optional<g_w_t> A_w;
32
34 std::optional<g_w_t> B_l_w;
35
37 std::optional<g_w_t> B_r_w;
38
40 std::optional<g_w_t> C_w;
41
43 std::optional<g_w_t> G_w;
44
46 std::optional<g_w_t> F_l_w;
47
49 std::optional<g_w_t> F_r_w;
50
52 std::optional<g_w_t> I_w;
53
55 std::optional<g_w_t> SigmaHartree_w;
56
58 std::optional<g_w_t> Sigma_w;
59
61 std::map<std::string, double> expv;
62
64 std::map<std::string, double> tdfdm;
65
67 std::optional<g_w_t> chi_NN_w;
68
70 std::optional<g_w_t> chi_SS_w;
71
73 friend void h5_write(h5::group h5group, std::string subgroup_name, container_set const &c) {
74 auto grp = h5group.create_group(subgroup_name);
75 h5_write(grp, "A_w", c.A_w);
76 h5_write(grp, "B_l_w", c.B_l_w);
77 h5_write(grp, "B_r_w", c.B_r_w);
78 h5_write(grp, "C_w", c.C_w);
79 h5_write(grp, "G_w", c.G_w);
80 h5_write(grp, "F_l_w", c.F_l_w);
81 h5_write(grp, "F_r_w", c.F_r_w);
82 h5_write(grp, "I_w", c.I_w);
83 h5_write(grp, "SigmaHartree_w", c.SigmaHartree_w);
84 h5_write(grp, "Sigma_w", c.Sigma_w);
85 h5_write(grp, "expv", c.expv);
86 h5_write(grp, "tdfdm", c.tdfdm);
87 h5_write(grp, "chi_NN_w", c.chi_NN_w);
88 h5_write(grp, "chi_SS_w", c.chi_SS_w);
89 }
90
92 friend void h5_read(h5::group h5group, std::string subgroup_name, container_set &c) {
93 auto grp = h5group.open_group(subgroup_name);
94 h5_read(grp, "A_w", c.A_w);
95 h5_read(grp, "B_l_w", c.B_l_w);
96 h5_read(grp, "B_r_w", c.B_r_w);
97 h5_read(grp, "C_w", c.C_w);
98 h5_read(grp, "G_w", c.G_w);
99 h5_read(grp, "F_l_w", c.F_l_w);
100 h5_read(grp, "F_r_w", c.F_r_w);
101 h5_read(grp, "I_w", c.I_w);
102 h5_read(grp, "SigmaHartree_w", c.SigmaHartree_w);
103 h5_read(grp, "Sigma_w", c.Sigma_w);
104 h5_read(grp, "expv", c.expv);
105 h5_read(grp, "tdfdm", c.tdfdm);
106 h5_read(grp, "chi_NN_w", c.chi_NN_w);
107 h5_read(grp, "chi_SS_w", c.chi_SS_w);
108 }
109 };
110
111} // namespace nrgljubljana_interface
Collection of all output containers held by the solver.
std::optional< g_w_t > G_w
The retarded Green's function .
std::map< std::string, double > expv
Expectation values of local impurity operators.
std::optional< g_w_t > Sigma_w
The retarded self-energy (computed from , , and ).
std::optional< g_w_t > B_l_w
The spectral function of the auxiliary correlator .
std::optional< g_w_t > F_l_w
The auxiliary Green's function .
std::optional< g_w_t > F_r_w
The auxiliary Green's function .
std::optional< g_w_t > I_w
The auxiliary Green's function .
std::optional< g_w_t > SigmaHartree_w
Constant Hartree shift to the self-energy, stored as a Green's function.
std::optional< g_w_t > B_r_w
The spectral function of the auxiliary correlator .
std::map< std::string, double > tdfdm
Thermodynamic variables (FDM algorithm).
std::optional< g_w_t > C_w
The spectral function of the auxiliary correlator .
friend void h5_read(h5::group h5group, std::string subgroup_name, container_set &c)
Read all containers from an HDF5 file.
std::optional< g_w_t > chi_SS_w
Spin susceptibility .
friend void h5_write(h5::group h5group, std::string subgroup_name, container_set const &c)
Write all containers to an HDF5 file.
std::optional< g_w_t > chi_NN_w
Charge susceptibility .
std::optional< g_w_t > A_w
The spectral function .