TRIQS/triqs_ctint 4.0.0
A TRIQS application
Loading...
Searching...
No Matches
M3xph_tau.hpp
1// Copyright (c) 2019--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
18 struct M3xph_tau {
19
20 M3xph_tau(params_t const &params_, qmc_config_t const &qmc_config_, container_set *results, g_tau_cv_t G0_tau_);
21
23 void accumulate(mc_weight_t sign);
24
26 void collect_results(mpi::communicator const &comm);
27
28 private:
29 // Capture the parameters
30 params_t const &params;
31
32 // The Monte-Carlo configuration
33 qmc_config_t const &qmc_config;
34
35 // Gf view for the accumulation of M3xph_tau
36 block2_gf_view<prod<imtime, imtime>, tensor_valued<4>> M3xph_tau_;
37
38 // Gf view for the accumulation of M3xph_delta
39 block2_gf_view<imtime, tensor_valued<4>> M3xph_delta_;
40
41 // The average sign
42 mc_weight_t Z = 0.0;
43
44 // The non-interacting Green function
45 g_tau_cv_t G0_tau;
46
47 // The tau-mesh for a single argument
48 mesh::imtime tau_mesh;
49
50 // A helper type to precompute the tau-binning
51 struct idx_t {
52 long tau_idx;
53 int u;
54 tau_t tau_pt;
55 };
56 };
57
58} // 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 M3xph_tau.cpp:28
void collect_results(mpi::communicator const &comm)
Collect results and normalize.
A struct combining both constr_params_t and solve_params_t.
Definition params.hpp:210