TRIQS/triqs_cthyb 4.0.0
A TRIQS application
Loading...
Searching...
No Matches
container_set.hpp
1/*******************************************************************************
2 *
3 * TRIQS: a Toolbox for Research in Interacting Quantum Systems
4 *
5 * Copyright (C) 2017, H. U.R. Strand
6 *
7 * TRIQS is free software: you can redistribute it and/or modify it under the
8 * terms of the GNU General Public License as published by the Free Software
9 * Foundation, either version 3 of the License, or (at your option) any later
10 * version.
11 *
12 * TRIQS is distributed in the hope that it will be useful, but WITHOUT ANY
13 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
15 * details.
16 *
17 * You should have received a copy of the GNU General Public License along with
18 * TRIQS. If not, see <http://www.gnu.org/licenses/>.
19 *
20 ******************************************************************************/
21
22#pragma once
23
24#include <optional>
25
26#include "types.hpp"
27
28namespace triqs_cthyb {
29
32
33 // -- Single particle Green's functions
34
36 std::optional<G_tau_t> G_tau;
37
39 std::optional<G_tau_G_target_t> G_tau_accum;
40
42 std::optional<G_tau_G_target_t> asymmetry_G_tau;
43
45 std::optional<G_l_t> G_l;
46
48 std::optional<gf<imtime, scalar_valued>> O_tau;
49
50 // -- Two-particle Green's functions
51
53 std::optional<G2_tau_t> G2_tau;
54
56 std::optional<G2_iw_t> G2_iw;
57
59 std::optional<G2_iw_t> G2_iw_nfft;
60
62 std::optional<G2_iw_t> G2_iw_pp;
63
65 std::optional<G2_iw_t> G2_iw_pp_nfft;
66
68 std::optional<G2_iw_t> G2_iw_ph;
69
71 std::optional<G2_iw_t> G2_iw_ph_nfft;
72
74 std::optional<G2_iwll_t> G2_iwll_pp;
75
77 std::optional<G2_iwll_t> G2_iwll_ph;
78
80 std::optional<histogram> perturbation_order_total;
81
83 std::optional<histo_map_t> perturbation_order;
84
86 friend void h5_write(h5::group h5group, std::string subgroup_name, container_set_t const &c);
87
89 friend void h5_read(h5::group h5group, std::string subgroup_name, container_set_t &c);
90
91 }; // struct container_set_t
92
93} // namespace triqs_cthyb
Container for all results accumulated by the simulation.
friend void h5_read(h5::group h5group, std::string subgroup_name, container_set_t &c)
Function that reads all containers to hdf5 file.
std::optional< G_l_t > G_l
Single-particle Green's function in the Legendre representation.
std::optional< G2_tau_t > G2_tau
Two-particle Green's function with three fermionic times.
friend void h5_write(h5::group h5group, std::string subgroup_name, container_set_t const &c)
Function that writes all containers to hdf5 file.
std::optional< G_tau_G_target_t > asymmetry_G_tau
Violation of the property after the measurement.
std::optional< G2_iw_t > G2_iw_nfft
Two-particle Green's function with three fermionic frequencies.
std::optional< histogram > perturbation_order_total
Histogram of the total perturbation order.
std::optional< histo_map_t > perturbation_order
Histograms of the perturbation order for each block.
std::optional< G2_iw_t > G2_iw_pp_nfft
Two-particle Green's function in the particle-particle channel.
std::optional< G2_iw_t > G2_iw_ph
Two-particle Green's function in the particle-hole channel.
std::optional< G2_iw_t > G2_iw_ph_nfft
Two-particle Green's function in the particle-hole channel.
std::optional< G_tau_G_target_t > G_tau_accum
Intermediate Green's function used to accumulate (real or complex).
std::optional< G_tau_t > G_tau
Single-particle Green's function in imaginary time.
std::optional< G2_iwll_t > G2_iwll_ph
Two-particle Green's function in the particle-hole channel.
std::optional< G2_iwll_t > G2_iwll_pp
Two-particle Green's function in the particle-particle channel.
std::optional< gf< imtime, scalar_valued > > O_tau
General operator Green's function in imaginary time.
std::optional< G2_iw_t > G2_iw
Two-particle Green's function with three fermionic frequencies.
std::optional< G2_iw_t > G2_iw_pp
Two-particle Green's function in the particle-particle channel.