TRIQS/triqs_ctseg 4.0.0
A TRIQS application
Loading...
Searching...
No Matches
params.cpp
1// Copyright (c) 2022--present, The Simons Foundation
2// Copyright (c) 2022--present, Max Planck Institute for Polymer Research, Mainz, Germany
3// This file is part of TRIQS/ctseg and is licensed under the terms of GPLv3 or later.
4// SPDX-License-Identifier: GPL-3.0-or-later
5// See LICENSE in the root of this distribution for details.
6
7#include "params.hpp"
8
9namespace triqs_ctseg {
10
11 void h5_write(h5::group h5group, std::string subgroup_name, constr_params_t const &c) {
12
13 h5::group grp = subgroup_name.empty() ? h5group : h5group.create_group(subgroup_name);
14
15 h5_write(grp, "beta", c.beta);
16 h5_write(grp, "gf_struct", c.gf_struct);
17 h5_write(grp, "n_tau", c.n_tau);
18 h5_write(grp, "n_tau_bosonic", c.n_tau_bosonic);
19 }
20
21 //------------------------------------
22
23 void h5_read(h5::group h5group, std::string subgroup_name, constr_params_t &c) {
24
25 h5::group grp = subgroup_name.empty() ? h5group : h5group.open_group(subgroup_name);
26
27 h5_read(grp, "beta", c.beta);
28 h5_read(grp, "gf_struct", c.gf_struct);
29 h5_read(grp, "n_tau", c.n_tau);
30 h5_read(grp, "n_tau_bosonic", c.n_tau_bosonic);
31 }
32
33 //------------------------------------
34
35 void h5_write(h5::group h5group, std::string subgroup_name, solve_params_t const &c) {
36
37 h5::group grp = subgroup_name.empty() ? h5group : h5group.create_group(subgroup_name);
38
39 h5_write(grp, "h_int", c.h_int);
40 h5_write(grp, "h_loc0", c.h_loc0);
41 h5_write(grp, "n_tau_G", c.n_tau_G);
42 h5_write(grp, "n_tau_chi2", c.n_tau_chi2);
43 h5_write(grp, "dlr_omega_max", c.dlr_omega_max);
44 h5_write(grp, "dlr_epsilon", c.dlr_epsilon);
45 h5_write(grp, "n_w_b_vertex", c.n_w_b_vertex);
46 h5_write(grp, "n_w_f_vertex", c.n_w_f_vertex);
47 h5_write(grp, "n_cycles", c.n_cycles);
48 h5_write(grp, "length_cycle", c.length_cycle);
49 h5_write(grp, "n_warmup_cycles", c.n_warmup_cycles);
50 h5_write(grp, "random_seed", c.random_seed);
51 h5_write(grp, "random_name", c.random_name);
52 h5_write(grp, "max_time", c.max_time);
53 h5_write(grp, "verbosity", c.verbosity);
54 h5_write(grp, "move_insert_segment", c.move_insert_segment);
55 h5_write(grp, "move_remove_segment", c.move_remove_segment);
56 h5_write(grp, "move_double_insert_segment", c.move_double_insert_segment);
57 h5_write(grp, "move_double_remove_segment", c.move_double_remove_segment);
58 h5_write(grp, "move_move_segment", c.move_move_segment);
59 h5_write(grp, "move_split_segment", c.move_split_segment);
60 h5_write(grp, "move_regroup_segment", c.move_regroup_segment);
61 h5_write(grp, "move_insert_spin_segment", c.move_insert_spin_segment);
62 h5_write(grp, "move_remove_spin_segment", c.move_remove_spin_segment);
63 h5_write(grp, "move_split_spin_segment", c.move_split_spin_segment);
64 h5_write(grp, "move_regroup_spin_segment", c.move_regroup_spin_segment);
65 h5_write(grp, "move_swap_spin_lines", c.move_swap_spin_lines);
66 h5_write(grp, "measure_pert_order", c.measure_pert_order);
67 h5_write(grp, "measure_G_tau", c.measure_G_tau);
68 h5_write(grp, "measure_F_tau", c.measure_F_tau);
69 h5_write(grp, "measure_densities", c.measure_densities);
70 h5_write(grp, "measure_average_sign", c.measure_average_sign);
71 h5_write(grp, "measure_nn_static", c.measure_nn_static);
72 h5_write(grp, "measure_nn_tau", c.measure_nn_tau);
73 h5_write(grp, "measure_nn_nu_dlr", c.measure_nn_nu_dlr);
74 h5_write(grp, "measure_Sperp_tau", c.measure_Sperp_tau);
75 h5_write(grp, "measure_state_hist", c.measure_state_hist);
76 h5_write(grp, "measure_g2w", c.measure_g2w);
77 h5_write(grp, "measure_g3w", c.measure_g3w);
78 h5_write(grp, "imag_threshold", c.imag_threshold);
79 h5_write(grp, "det_init_size", c.det_init_size);
80 h5_write(grp, "det_n_operations_before_check", c.det_n_operations_before_check);
81 h5_write(grp, "det_precision_warning", c.det_precision_warning);
82 h5_write(grp, "det_precision_error", c.det_precision_error);
83 h5_write(grp, "det_singular_threshold", c.det_singular_threshold);
84 h5_write(grp, "histogram_max_order", c.histogram_max_order);
85 h5_write(grp, "visualize_config", c.visualize_config);
86 }
87
88 //------------------------------------
89
90 void h5_read(h5::group h5group, std::string subgroup_name, solve_params_t &c) {
91
92 h5::group grp = subgroup_name.empty() ? h5group : h5group.open_group(subgroup_name);
93
94 h5_read(grp, "h_int", c.h_int);
95 h5_read(grp, "h_loc0", c.h_loc0);
96 h5_read(grp, "n_tau_G", c.n_tau_G);
97 h5_read(grp, "n_tau_chi2", c.n_tau_chi2);
98 h5_read(grp, "dlr_omega_max", c.dlr_omega_max);
99 h5_read(grp, "dlr_epsilon", c.dlr_epsilon);
100 h5_read(grp, "n_cycles", c.n_cycles);
101 h5_read(grp, "length_cycle", c.length_cycle);
102 h5_read(grp, "n_warmup_cycles", c.n_warmup_cycles);
103 h5_read(grp, "random_seed", c.random_seed);
104 h5_read(grp, "random_name", c.random_name);
105 h5_read(grp, "max_time", c.max_time);
106 h5_read(grp, "verbosity", c.verbosity);
107 h5_read(grp, "move_insert_segment", c.move_insert_segment);
108 h5_read(grp, "move_remove_segment", c.move_remove_segment);
109 h5_read(grp, "move_double_insert_segment", c.move_double_insert_segment);
110 h5_read(grp, "move_double_remove_segment", c.move_double_remove_segment);
111 h5_read(grp, "move_move_segment", c.move_move_segment);
112 h5_read(grp, "move_split_segment", c.move_split_segment);
113 h5_read(grp, "move_regroup_segment", c.move_regroup_segment);
114 h5_read(grp, "move_insert_spin_segment", c.move_insert_spin_segment);
115 h5_read(grp, "move_remove_spin_segment", c.move_remove_spin_segment);
116 h5_read(grp, "move_split_spin_segment", c.move_split_spin_segment);
117 h5_read(grp, "move_regroup_spin_segment", c.move_regroup_spin_segment);
118 h5_read(grp, "move_swap_spin_lines", c.move_swap_spin_lines);
119 h5_read(grp, "measure_pert_order", c.measure_pert_order);
120 h5_read(grp, "measure_G_tau", c.measure_G_tau);
121 h5_read(grp, "measure_F_tau", c.measure_F_tau);
122 h5_read(grp, "measure_densities", c.measure_densities);
123 h5_read(grp, "measure_average_sign", c.measure_average_sign);
124 h5_read(grp, "measure_nn_static", c.measure_nn_static);
125 h5_read(grp, "measure_nn_tau", c.measure_nn_tau);
126 h5_read(grp, "measure_nn_nu_dlr", c.measure_nn_nu_dlr);
127 h5_read(grp, "measure_Sperp_tau", c.measure_Sperp_tau);
128 h5_read(grp, "measure_state_hist", c.measure_state_hist);
129 h5_read(grp, "measure_g2w", c.measure_g2w);
130 h5_read(grp, "measure_g3w", c.measure_g3w);
131 h5::try_read(grp, "imag_threshold", c.imag_threshold);
132 h5_read(grp, "det_init_size", c.det_init_size);
133 h5_read(grp, "det_n_operations_before_check", c.det_n_operations_before_check);
134 h5_read(grp, "det_precision_warning", c.det_precision_warning);
135 h5_read(grp, "det_precision_error", c.det_precision_error);
136 h5_read(grp, "det_singular_threshold", c.det_singular_threshold);
137 h5_read(grp, "histogram_max_order", c.histogram_max_order);
138 h5_read(grp, "visualize_config", c.visualize_config);
139 }
140
141} // namespace triqs_ctseg
Parameters used for constructing the solver class.
Definition params.hpp:16
Parameters passed to the solve() method of the solver class.
Definition params.hpp:34