TRIQS/nrgljubljana_interface 4.0.0
A TRIQS application
Loading...
Searching...
No Matches
params.cpp
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#include "./params.hpp"
23
24namespace nrgljubljana_interface {
25
26 void h5_write(h5::group h5group, std::string subgroup_name, constr_params_t const &cp) {
27 auto grp = h5group.create_group(subgroup_name);
28 h5_write(grp, "templatedir", cp.templatedir);
29 h5_write(grp, "model", cp.model);
30 h5_write(grp, "symtype", cp.symtype);
31 h5_write(grp, "mesh_max", cp.mesh_max);
32 h5_write(grp, "mesh_min", cp.mesh_min);
33 h5_write(grp, "mesh_ratio", cp.mesh_ratio);
34 h5_write(grp, "polarized", cp.polarized);
35 h5_write(grp, "pol2x2", cp.pol2x2);
36 h5_write(grp, "rungs", cp.rungs);
37 h5_write(grp, "ops", cp.ops);
38 h5_write(grp, "specs", cp.specs);
39 h5_write(grp, "specd", cp.specd);
40 h5_write(grp, "spect", cp.spect);
41 h5_write(grp, "specq", cp.specq);
42 h5_write(grp, "specot", cp.specot);
43 h5_write(grp, "specchit", cp.specchit);
44 h5_write(grp, "specv3", cp.specv3);
45 h5_write(grp, "params", cp.params);
46 }
47
48 void h5_read(h5::group h5group, std::string subgroup_name, constr_params_t &cp) {
49 auto grp = h5group.open_group(subgroup_name);
50 h5_read(grp, "templatedir", cp.templatedir);
51 h5_read(grp, "model", cp.model);
52 h5_read(grp, "symtype", cp.symtype);
53 h5_read(grp, "mesh_max", cp.mesh_max);
54 h5_read(grp, "mesh_min", cp.mesh_min);
55 h5_read(grp, "mesh_ratio", cp.mesh_ratio);
56 h5_read(grp, "polarized", cp.polarized);
57 h5_read(grp, "pol2x2", cp.pol2x2);
58 h5_read(grp, "rungs", cp.rungs);
59 h5_read(grp, "ops", cp.ops);
60 h5_read(grp, "specs", cp.specs);
61 h5_read(grp, "specd", cp.specd);
62 h5_read(grp, "spect", cp.spect);
63 h5_read(grp, "specq", cp.specq);
64 h5_read(grp, "specot", cp.specot);
65 h5_read(grp, "specchit", cp.specchit);
66 h5_read(grp, "specv3", cp.specv3);
67 h5_read(grp, "params", cp.params);
68 }
69
70 void h5_write(h5::group h5group, std::string subgroup_name, solve_params_t const &sp) {
71 auto grp = h5group.create_group(subgroup_name);
72 h5_write(grp, "Lambda", sp.Lambda);
73 h5_write(grp, "Nz", sp.Nz);
74 h5_write(grp, "Tmin", sp.Tmin);
75 h5_write(grp, "keep", sp.keep);
76 h5_write(grp, "keepenergy", sp.keepenergy);
77 h5_write(grp, "keepmin", sp.keepmin);
78 h5_write(grp, "T", sp.T);
79 h5_write(grp, "alpha", sp.alpha);
80 h5_write(grp, "gamma", sp.gamma);
81 h5_write(grp, "method", sp.method);
82 h5_write(grp, "bandrescale", sp.bandrescale);
83 h5_write(grp, "model_parameters", sp.model_parameters);
84 }
85
86 void h5_read(h5::group h5group, std::string subgroup_name, solve_params_t &sp) {
87 auto grp = h5group.open_group(subgroup_name);
88 h5_read(grp, "Lambda", sp.Lambda);
89 h5_read(grp, "Nz", sp.Nz);
90 h5_read(grp, "Tmin", sp.Tmin);
91 h5_read(grp, "keep", sp.keep);
92 h5_read(grp, "keepenergy", sp.keepenergy);
93 h5_read(grp, "keepmin", sp.keepmin);
94 h5_read(grp, "T", sp.T);
95 h5_read(grp, "alpha", sp.alpha);
96 h5_read(grp, "gamma", sp.gamma);
97 h5_read(grp, "method", sp.method);
98 h5_read(grp, "bandrescale", sp.bandrescale);
99 h5_read(grp, "model_parameters", sp.model_parameters);
100 }
101
102 void h5_write(h5::group h5group, std::string subgroup_name, nrg_params_t const &np) {
103 auto grp = h5group.create_group(subgroup_name);
104 h5_write(grp, "dmnrg", np.dmnrg);
105 h5_write(grp, "cfs", np.cfs);
106 h5_write(grp, "fdm", np.fdm);
107 h5_write(grp, "fdmexpv", np.fdmexpv);
108 h5_write(grp, "dmnrgmats", np.dmnrgmats);
109 h5_write(grp, "fdmmats", np.fdmmats);
110 h5_write(grp, "mats", np.mats);
111 h5_write(grp, "specgt", np.specgt);
112 h5_write(grp, "speci1t", np.speci1t);
113 h5_write(grp, "speci2t", np.speci2t);
114 h5_write(grp, "v3mm", np.v3mm);
115 h5_write(grp, "mMAX", np.mMAX);
116 h5_write(grp, "Nmax", np.Nmax);
117 h5_write(grp, "xmax", np.xmax);
118 h5_write(grp, "discretization", np.discretization);
119 h5_write(grp, "z", np.z);
120 h5_write(grp, "tri", np.tri);
121 h5_write(grp, "preccpp", np.preccpp);
122 h5_write(grp, "diag", np.diag);
123 h5_write(grp, "diagratio", np.diagratio);
124 h5_write(grp, "dsyevrlimit", np.dsyevrlimit);
125 h5_write(grp, "zheevrlimit", np.zheevrlimit);
126 h5_write(grp, "restart", np.restart);
127 h5_write(grp, "restartfactor", np.restartfactor);
128 h5_write(grp, "safeguard", np.safeguard);
129 h5_write(grp, "safeguardmax", np.safeguardmax);
130 h5_write(grp, "fixeps", np.fixeps);
131 h5_write(grp, "betabar", np.betabar);
132 h5_write(grp, "gtp", np.gtp);
133 h5_write(grp, "chitp", np.chitp);
134 h5_write(grp, "finite", np.finite);
135 h5_write(grp, "cfsgt", np.cfsgt);
136 h5_write(grp, "cfsls", np.cfsls);
137 h5_write(grp, "fdmgt", np.fdmgt);
138 h5_write(grp, "fdmls", np.fdmls);
139 h5_write(grp, "fdmexpvn", np.fdmexpvn);
140 h5_write(grp, "finitemats", np.finitemats);
141 h5_write(grp, "dm", np.dm);
142 h5_write(grp, "broaden_min_ratio", np.broaden_min_ratio);
143 h5_write(grp, "omega0", np.omega0);
144 h5_write(grp, "omega0_ratio", np.omega0_ratio);
145 h5_write(grp, "diagth", np.diagth);
146 h5_write(grp, "substeps", np.substeps);
147 h5_write(grp, "strategy", np.strategy);
148 h5_write(grp, "Ninit", np.Ninit);
149 h5_write(grp, "reim", np.reim);
150 h5_write(grp, "dumpannotated", np.dumpannotated);
151 h5_write(grp, "dumpabs", np.dumpabs);
152 h5_write(grp, "dumpscaled", np.dumpscaled);
153 h5_write(grp, "dumpprecision", np.dumpprecision);
154 h5_write(grp, "dumpgroups", np.dumpgroups);
155 h5_write(grp, "grouptol", np.grouptol);
156 h5_write(grp, "dumpdiagonal", np.dumpdiagonal);
157 h5_write(grp, "savebins", np.savebins);
158 h5_write(grp, "broaden", np.broaden);
159 h5_write(grp, "emin", np.emin);
160 h5_write(grp, "emax", np.emax);
161 h5_write(grp, "bins", np.bins);
162 h5_write(grp, "accumulation", np.accumulation);
163 h5_write(grp, "linstep", np.linstep);
164 h5_write(grp, "discard_trim", np.discard_trim);
165 h5_write(grp, "discard_immediately", np.discard_immediately);
166 h5_write(grp, "goodE", np.goodE);
167 h5_write(grp, "NN1", np.NN1);
168 h5_write(grp, "NN2even", np.NN2even);
169 h5_write(grp, "NN2avg", np.NN2avg);
170 h5_write(grp, "NNtanh", np.NNtanh);
171 h5_write(grp, "width_td", np.width_td);
172 h5_write(grp, "width_custom", np.width_custom);
173 h5_write(grp, "prec_td", np.prec_td);
174 h5_write(grp, "prec_custom", np.prec_custom);
175 h5_write(grp, "prec_xy", np.prec_xy);
176 h5_write(grp, "resume", np.resume);
177 h5_write(grp, "log", np.log);
178 h5_write(grp, "logall", np.logall);
179 h5_write(grp, "done", np.done);
180 h5_write(grp, "calc0", np.calc0);
181 h5_write(grp, "lastall", np.lastall);
182 h5_write(grp, "lastalloverride", np.lastalloverride);
183 h5_write(grp, "dumpsubspaces", np.dumpsubspaces);
184 h5_write(grp, "dump_f", np.dump_f);
185 h5_write(grp, "dumpenergies", np.dumpenergies);
186 h5_write(grp, "logenumber", np.logenumber);
187 h5_write(grp, "stopafter", np.stopafter);
188 h5_write(grp, "forcestop", np.forcestop);
189 h5_write(grp, "removefiles", np.removefiles);
190 h5_write(grp, "noimag", np.noimag);
191 h5_write(grp, "checksumrules", np.checksumrules);
192 h5_write(grp, "checkdiag", np.checkdiag);
193 h5_write(grp, "checkrho", np.checkrho);
194 }
195
196 void h5_read(h5::group h5group, std::string subgroup_name, nrg_params_t &np) {
197 auto grp = h5group.open_group(subgroup_name);
198 h5_read(grp, "dmnrg", np.dmnrg);
199 h5_read(grp, "cfs", np.cfs);
200 h5_read(grp, "fdm", np.fdm);
201 h5_read(grp, "fdmexpv", np.fdmexpv);
202 h5_read(grp, "dmnrgmats", np.dmnrgmats);
203 h5_read(grp, "fdmmats", np.fdmmats);
204 h5_read(grp, "mats", np.mats);
205 h5_read(grp, "specgt", np.specgt);
206 h5_read(grp, "speci1t", np.speci1t);
207 h5_read(grp, "speci2t", np.speci2t);
208 h5_read(grp, "v3mm", np.v3mm);
209 h5_read(grp, "mMAX", np.mMAX);
210 h5_read(grp, "Nmax", np.Nmax);
211 h5_read(grp, "xmax", np.xmax);
212 h5_read(grp, "discretization", np.discretization);
213 h5_read(grp, "z", np.z);
214 h5_read(grp, "tri", np.tri);
215 h5_read(grp, "preccpp", np.preccpp);
216 h5_read(grp, "diag", np.diag);
217 h5_read(grp, "diagratio", np.diagratio);
218 h5_read(grp, "dsyevrlimit", np.dsyevrlimit);
219 h5_read(grp, "zheevrlimit", np.zheevrlimit);
220 h5_read(grp, "restart", np.restart);
221 h5_read(grp, "restartfactor", np.restartfactor);
222 h5_read(grp, "safeguard", np.safeguard);
223 h5_read(grp, "safeguardmax", np.safeguardmax);
224 h5_read(grp, "fixeps", np.fixeps);
225 h5_read(grp, "betabar", np.betabar);
226 h5_read(grp, "gtp", np.gtp);
227 h5_read(grp, "chitp", np.chitp);
228 h5_read(grp, "finite", np.finite);
229 h5_read(grp, "cfsgt", np.cfsgt);
230 h5_read(grp, "cfsls", np.cfsls);
231 h5_read(grp, "fdmgt", np.fdmgt);
232 h5_read(grp, "fdmls", np.fdmls);
233 h5_read(grp, "fdmexpvn", np.fdmexpvn);
234 h5_read(grp, "finitemats", np.finitemats);
235 h5_read(grp, "dm", np.dm);
236 h5_read(grp, "broaden_min_ratio", np.broaden_min_ratio);
237 h5_read(grp, "omega0", np.omega0);
238 h5_read(grp, "omega0_ratio", np.omega0_ratio);
239 h5_read(grp, "diagth", np.diagth);
240 h5_read(grp, "substeps", np.substeps);
241 h5_read(grp, "strategy", np.strategy);
242 h5_read(grp, "Ninit", np.Ninit);
243 h5_read(grp, "reim", np.reim);
244 h5_read(grp, "dumpannotated", np.dumpannotated);
245 h5_read(grp, "dumpabs", np.dumpabs);
246 h5_read(grp, "dumpscaled", np.dumpscaled);
247 h5_read(grp, "dumpprecision", np.dumpprecision);
248 h5_read(grp, "dumpgroups", np.dumpgroups);
249 h5_read(grp, "grouptol", np.grouptol);
250 h5_read(grp, "dumpdiagonal", np.dumpdiagonal);
251 h5_read(grp, "savebins", np.savebins);
252 h5_read(grp, "broaden", np.broaden);
253 h5_read(grp, "emin", np.emin);
254 h5_read(grp, "emax", np.emax);
255 h5_read(grp, "bins", np.bins);
256 h5_read(grp, "accumulation", np.accumulation);
257 h5_read(grp, "linstep", np.linstep);
258 h5_read(grp, "discard_trim", np.discard_trim);
259 h5_read(grp, "discard_immediately", np.discard_immediately);
260 h5_read(grp, "goodE", np.goodE);
261 h5_read(grp, "NN1", np.NN1);
262 h5_read(grp, "NN2even", np.NN2even);
263 h5_read(grp, "NN2avg", np.NN2avg);
264 h5_read(grp, "NNtanh", np.NNtanh);
265 h5_read(grp, "width_td", np.width_td);
266 h5_read(grp, "width_custom", np.width_custom);
267 h5_read(grp, "prec_td", np.prec_td);
268 h5_read(grp, "prec_custom", np.prec_custom);
269 h5_read(grp, "prec_xy", np.prec_xy);
270 h5_read(grp, "resume", np.resume);
271 h5_read(grp, "log", np.log);
272 h5_read(grp, "logall", np.logall);
273 h5_read(grp, "done", np.done);
274 h5_read(grp, "calc0", np.calc0);
275 h5_read(grp, "lastall", np.lastall);
276 h5_read(grp, "lastalloverride", np.lastalloverride);
277 h5_read(grp, "dumpsubspaces", np.dumpsubspaces);
278 h5_read(grp, "dump_f", np.dump_f);
279 h5_read(grp, "dumpenergies", np.dumpenergies);
280 h5_read(grp, "logenumber", np.logenumber);
281 h5_read(grp, "stopafter", np.stopafter);
282 h5_read(grp, "forcestop", np.forcestop);
283 h5_read(grp, "removefiles", np.removefiles);
284 h5_read(grp, "noimag", np.noimag);
285 h5_read(grp, "checksumrules", np.checksumrules);
286 h5_read(grp, "checkdiag", np.checkdiag);
287 h5_read(grp, "checkrho", np.checkrho);
288 }
289
290} // namespace nrgljubljana_interface
Construction parameters for the NRGLjubljana solver.
Definition params.hpp:28
friend void h5_write(h5::group h5group, std::string subgroup_name, constr_params_t const &cp)
Write constr_params_t to HDF5.
Definition params.cpp:26
double mesh_max
Maximum frequency of the logarithmic mesh.
Definition params.hpp:56
std::string params
List of model parameters that need to be specified.
Definition params.hpp:98
std::string specd
Spectral functions of doublet operators to compute.
Definition params.hpp:80
std::string symtype
Symmetry type (NRGLjubljana symmetry code, e.g. QS, QSZ, ISO).
Definition params.hpp:37
std::string specq
Spectral functions of quadruplet operators to compute.
Definition params.hpp:86
std::string model
Impurity model to solve (selects a template directory).
Definition params.hpp:34
std::string specv3
3-leg vertex functions to compute.
Definition params.hpp:95
std::string specot
Spectral functions of orbital-triplet operators to compute.
Definition params.hpp:89
std::string specs
Spectral functions of singlet operators to compute.
Definition params.hpp:77
friend void h5_read(h5::group h5group, std::string subgroup_name, constr_params_t &cp)
Read constr_params_t from HDF5.
Definition params.cpp:48
std::string specchit
Susceptibilities to compute.
Definition params.hpp:92
double mesh_min
Minimum frequency of the logarithmic mesh.
Definition params.hpp:59
bool pol2x2
Use a 2x2 spin structure in the Wilson chain.
Definition params.hpp:68
bool polarized
Use a spin-polarized Wilson chain.
Definition params.hpp:65
std::string ops
Operators whose expectation values are to be calculated.
Definition params.hpp:74
bool rungs
Include channel-mixing terms in the Wilson chain.
Definition params.hpp:71
double mesh_ratio
Common ratio of the geometric (logarithmic) frequency mesh.
Definition params.hpp:62
std::string templatedir
Path to the template library (defaults to the bundled templates).
Definition params.hpp:31
std::string spect
Spectral functions of triplet operators to compute.
Definition params.hpp:83
Low-level NRG parameters.
Definition params.hpp:154
bool fdmmats
Perform the FDM calculation on the Matsubara axis.
Definition params.hpp:172
double z
Parameter (twist) in the logarithmic discretization.
Definition params.hpp:202
friend void h5_read(h5::group h5group, std::string subgroup_name, nrg_params_t &sp)
Read nrg_params_t from HDF5.
Definition params.cpp:196
double discard_trim
Peak clipping at the end of the run.
Definition params.hpp:337
size_t dsyevrlimit
Minimal matrix size for dsyevr.
Definition params.hpp:217
std::string discretization
Discretization scheme.
Definition params.hpp:199
int mMAX
Number of sites in the star representation ( : automatically determined).
Definition params.hpp:190
bool checkdiag
Test the diagonalisation results.
Definition params.hpp:421
bool fdm
Perform an FDM (full-density-matrix) calculation.
Definition params.hpp:163
double betabar
Parameter for thermodynamics.
Definition params.hpp:238
bool dumpabs
Dump in terms of absolute energies.
Definition params.hpp:298
bool removefiles
Remove temporary data files.
Definition params.hpp:412
double diagratio
Ratio of eigenstates computed in partial diagonalisation.
Definition params.hpp:214
std::string tri
Tridiagonalisation approach.
Definition params.hpp:205
double emin
Lower binning limit.
Definition params.hpp:322
bool v3mm
Compute the 3-leg vertex on the Matsubara/Matsubara axis.
Definition params.hpp:187
bool dump_f
Dump matrix elements.
Definition params.hpp:397
bool fdmls
Compute the FDM lesser correlation function.
Definition params.hpp:259
size_t Ninit
Number of initial Wilson chain operators.
Definition params.hpp:289
int Nmax
Number of sites in the Wilson chain ( : automatically determined).
Definition params.hpp:193
bool dmnrgmats
Perform the DMNRG calculation on the Matsubara axis.
Definition params.hpp:169
bool NN1
Perform N/N+1 patching.
Definition params.hpp:346
size_t safeguardmax
Maximal number of additional states to keep.
Definition params.hpp:232
size_t dumpprecision
Number of digits of precision used when dumping.
Definition params.hpp:304
bool cfsgt
Compute the CFS greater correlation function.
Definition params.hpp:250
bool noimag
Do not output the imaginary parts of expectation values.
Definition params.hpp:415
double discard_immediately
Peak clipping on the fly.
Definition params.hpp:340
bool resume
Attempt to restart the calculation.
Definition params.hpp:373
double fixeps
Threshold value for eigenvalue splitting corrections.
Definition params.hpp:235
bool cfs
Perform a CFS (complete Fock space) calculation.
Definition params.hpp:160
double restartfactor
Rescale factor used when restart is true.
Definition params.hpp:226
bool reim
Output the imaginary parts of the correlators.
Definition params.hpp:292
friend void h5_write(h5::group h5group, std::string subgroup_name, nrg_params_t const &sp)
Write nrg_params_t to HDF5.
Definition params.cpp:102
bool dm
Compute density matrices.
Definition params.hpp:268
size_t logenumber
Number of eigenvalues to show for log=e.
Definition params.hpp:403
int forcestop
Force stop at the given iteration (-1: disabled).
Definition params.hpp:409
std::string specgt
Conductance curves to compute.
Definition params.hpp:178
std::string stopafter
Stop the calculation at a given point.
Definition params.hpp:406
size_t dumpdiagonal
Dump diagonal matrix elements.
Definition params.hpp:313
double chitp
Parameter for calculations.
Definition params.hpp:244
bool dumpsubspaces
Save detailed subspace info.
Definition params.hpp:394
double broaden_min_ratio
Auto-tune the broaden_min parameter.
Definition params.hpp:271
size_t prec_td
Precision of columns in the 'td' output file.
Definition params.hpp:364
bool checksumrules
Check operator sum rules.
Definition params.hpp:418
bool dumpenergies
Dump all energies to a file.
Definition params.hpp:400
bool restart
Restart the calculation to achieve the truncation goal.
Definition params.hpp:223
std::string speci1t
curves to compute.
Definition params.hpp:181
double NNtanh
Parameter in the window function.
Definition params.hpp:355
bool NN2avg
Average over even and odd N/N+2 spectra.
Definition params.hpp:352
std::string strategy
Recalculation strategy.
Definition params.hpp:286
bool calc0
Perform calculations at the 0-th iteration.
Definition params.hpp:385
double gtp
Parameter for calculations.
Definition params.hpp:241
bool fdmexpv
Calculate expectation values using the FDM algorithm.
Definition params.hpp:166
double grouptol
Energy tolerance for considering two states as degenerate.
Definition params.hpp:310
bool finitemats
Perform a calculation on the Matsubara axis.
Definition params.hpp:265
size_t width_custom
Width of columns in the 'custom' output file.
Definition params.hpp:361
bool dumpscaled
Dump using omega_N energy units.
Definition params.hpp:301
size_t width_td
Width of columns in the 'td' output file.
Definition params.hpp:358
bool dumpgroups
Dump by grouping degenerate states.
Definition params.hpp:307
size_t preccpp
Precision for tridiagonalisation.
Definition params.hpp:208
bool lastalloverride
Override the automatic lastall setting.
Definition params.hpp:391
double goodE
Energy window parameter for patching.
Definition params.hpp:343
double linstep
Bin width for the linear mesh.
Definition params.hpp:334
bool savebins
Save binned (unbroadened) data.
Definition params.hpp:316
bool NN2even
Use even iterations in N/N+2 patching.
Definition params.hpp:349
double emax
Upper binning limit.
Definition params.hpp:325
double xmax
Largest in the discretization ODE solver ( : automatically determined).
Definition params.hpp:196
bool cfsls
Compute the CFS lesser correlation function.
Definition params.hpp:253
bool fdmgt
Compute the FDM greater correlation function.
Definition params.hpp:256
size_t bins
Number of bins per decade for spectral data.
Definition params.hpp:328
size_t mats
Number of Matsubara points to collect.
Definition params.hpp:175
bool broaden
Enable broadening of spectra.
Definition params.hpp:319
bool lastall
Keep all states in the last iteration for DMNRG.
Definition params.hpp:388
std::string diag
Eigensolver routine (dsyev|dsyevr|zheev|zheevr|default).
Definition params.hpp:211
std::string speci2t
curves to compute.
Definition params.hpp:184
double omega0
Smallest energy scale in the problem, .
Definition params.hpp:274
size_t prec_xy
Precision of the spectral function output.
Definition params.hpp:370
size_t dumpannotated
Number of eigenvalues to dump.
Definition params.hpp:295
size_t zheevrlimit
Minimal matrix size for zheevr.
Definition params.hpp:220
double accumulation
Shift of the accumulation points for binning.
Definition params.hpp:331
size_t fdmexpvn
Iteration at which the expectation values are evaluated.
Definition params.hpp:262
bool done
Create a DONE file.
Definition params.hpp:382
double safeguard
Additional states to keep in case of a near degeneracy.
Definition params.hpp:229
bool finite
Perform a Costi-Hewson-Zlatic finite-T calculation.
Definition params.hpp:247
int diagth
Number of diagonalisation threads.
Definition params.hpp:280
size_t prec_custom
Precision of columns in the 'custom' output file.
Definition params.hpp:367
std::string log
List of tokens defining what to log.
Definition params.hpp:376
bool dmnrg
Perform a DMNRG (density-matrix NRG) calculation.
Definition params.hpp:157
bool substeps
Use the interleaved diagonalization scheme.
Definition params.hpp:283
Parameters for the solve() method.
Definition params.hpp:108
double Lambda
Logarithmic discretization parameter.
Definition params.hpp:111
int Nz
Number of discretization meshes (interleaved twist parameters z).
Definition params.hpp:114
size_t keepmin
Minimum number of states to keep at each NRG step.
Definition params.hpp:126
double bandrescale
Band rescaling factor (half-width of the support of the hybridisation function); set to mesh_max if n...
Definition params.hpp:141
std::map< std::string, double > model_parameters
Model parameters (name to value map, e.g. U1, eps1).
Definition params.hpp:144
friend void h5_read(h5::group h5group, std::string subgroup_name, solve_params_t &sp)
Read solve_params_t from HDF5.
Definition params.cpp:86
double gamma
Parameter for the Gaussian convolution step.
Definition params.hpp:135
friend void h5_write(h5::group h5group, std::string subgroup_name, solve_params_t const &sp)
Write solve_params_t to HDF5.
Definition params.cpp:70
std::string method
Method for calculating the dynamical quantities.
Definition params.hpp:138
double alpha
Width of the logarithmic gaussian used for broadening.
Definition params.hpp:132
double keepenergy
Cut-off energy for truncation.
Definition params.hpp:123
double Tmin
Lowest energy scale on the Wilson chain.
Definition params.hpp:117
size_t keep
Maximum number of states to keep at each NRG step.
Definition params.hpp:120