TRIQS/triqs_ctint 4.0.0
A TRIQS application
Loading...
Searching...
No Matches
chiAB_tau.hpp
1// Copyright (c) 2018--present, The Simons Foundation
2// This file is part of TRIQS/ctint and is licensed under the terms of GPLv3 or later.
3// SPDX-License-Identifier: GPL-3.0-or-later
4// See LICENSE in the root of this distribution for details.
5
6#pragma once
7#include "../qmc_config.hpp"
8#include "../nfft_buf.hpp"
9#include "../container_set.hpp"
10
11namespace triqs_ctint::measures {
12
16 struct chiAB_tau {
17
18 chiAB_tau(params_t const &params_, qmc_config_t &qmc_config_, container_set *results);
19
21 void accumulate(mc_weight_t sign);
22
24 void collect_results(mpi::communicator const &comm);
25
26 private:
27 // Capture the parameters FIXME We cannot choose const, as we call try_insert
28 params_t const &params;
29
30 // The Monte-Carlo configuration
31 qmc_config_t &qmc_config;
32
33 // Container for the accumulation
34 gf_view<imtime> chiAB_tau_;
35
36 // The bosonic operator vectors
37 using op_term_t = std::tuple<dcomplex, std::pair<int, int>, std::pair<int, int>>;
38 std::vector<std::vector<op_term_t>> A_vec;
39 std::vector<std::vector<op_term_t>> B_vec;
40
41 // The average sign
42 mc_weight_t Z = 0.0;
43
44 // The tau-mesh
45 mesh::imtime tau_mesh;
46 };
47
48} // namespace triqs_ctint::measures
Type of the Monte-Carlo configuration.
Container for all (optional) quantities measured and post-processed by the solver.
void accumulate(mc_weight_t sign)
Accumulate M_tau using binning.
Definition chiAB_tau.cpp:28
void collect_results(mpi::communicator const &comm)
Collect results and normalize.
Definition chiAB_tau.cpp:89
A struct combining both constr_params_t and solve_params_t.
Definition params.hpp:210