25namespace nrgljubljana_interface {
48 if (
const char *env_tdir = std::getenv(
"NRGIF_TEMPLATE_DIR")) {
49 return std::string{env_tdir} +
"/" +
model +
"/" +
symtype;
Construction parameters for the NRGLjubljana solver.
std::string get_model_dir() const
Resolve the template directory for the chosen model and symmetry.
friend void h5_write(h5::group h5group, std::string subgroup_name, constr_params_t const &cp)
Write constr_params_t to HDF5.
double mesh_max
Maximum frequency of the logarithmic mesh.
std::string params
List of model parameters that need to be specified.
std::string specd
Spectral functions of doublet operators to compute.
std::string symtype
Symmetry type (NRGLjubljana symmetry code, e.g. QS, QSZ, ISO).
std::string specq
Spectral functions of quadruplet operators to compute.
std::string model
Impurity model to solve (selects a template directory).
std::string specv3
3-leg vertex functions to compute.
std::string specot
Spectral functions of orbital-triplet operators to compute.
std::string specs
Spectral functions of singlet operators to compute.
friend void h5_read(h5::group h5group, std::string subgroup_name, constr_params_t &cp)
Read constr_params_t from HDF5.
std::string specchit
Susceptibilities to compute.
double mesh_min
Minimum frequency of the logarithmic mesh.
bool pol2x2
Use a 2x2 spin structure in the Wilson chain.
bool polarized
Use a spin-polarized Wilson chain.
std::string ops
Operators whose expectation values are to be calculated.
bool rungs
Include channel-mixing terms in the Wilson chain.
double mesh_ratio
Common ratio of the geometric (logarithmic) frequency mesh.
std::string templatedir
Path to the template library (defaults to the bundled templates).
std::string spect
Spectral functions of triplet operators to compute.
Low-level NRG parameters.
bool fdmmats
Perform the FDM calculation on the Matsubara axis.
bool logall
Log everything.
double z
Parameter (twist) in the logarithmic discretization.
friend void h5_read(h5::group h5group, std::string subgroup_name, nrg_params_t &sp)
Read nrg_params_t from HDF5.
double discard_trim
Peak clipping at the end of the run.
size_t dsyevrlimit
Minimal matrix size for dsyevr.
std::string discretization
Discretization scheme.
int mMAX
Number of sites in the star representation ( : automatically determined).
bool checkdiag
Test the diagonalisation results.
bool fdm
Perform an FDM (full-density-matrix) calculation.
double omega0_ratio
Sets .
double betabar
Parameter for thermodynamics.
bool dumpabs
Dump in terms of absolute energies.
bool removefiles
Remove temporary data files.
double diagratio
Ratio of eigenstates computed in partial diagonalisation.
std::string tri
Tridiagonalisation approach.
double emin
Lower binning limit.
bool v3mm
Compute the 3-leg vertex on the Matsubara/Matsubara axis.
bool dump_f
Dump matrix elements.
bool fdmls
Compute the FDM lesser correlation function.
size_t Ninit
Number of initial Wilson chain operators.
int Nmax
Number of sites in the Wilson chain ( : automatically determined).
bool dmnrgmats
Perform the DMNRG calculation on the Matsubara axis.
bool NN1
Perform N/N+1 patching.
size_t safeguardmax
Maximal number of additional states to keep.
size_t dumpprecision
Number of digits of precision used when dumping.
bool cfsgt
Compute the CFS greater correlation function.
bool noimag
Do not output the imaginary parts of expectation values.
double discard_immediately
Peak clipping on the fly.
bool resume
Attempt to restart the calculation.
double fixeps
Threshold value for eigenvalue splitting corrections.
bool cfs
Perform a CFS (complete Fock space) calculation.
double restartfactor
Rescale factor used when restart is true.
bool reim
Output the imaginary parts of the correlators.
friend void h5_write(h5::group h5group, std::string subgroup_name, nrg_params_t const &sp)
Write nrg_params_t to HDF5.
bool dm
Compute density matrices.
size_t logenumber
Number of eigenvalues to show for log=e.
int forcestop
Force stop at the given iteration (-1: disabled).
std::string specgt
Conductance curves to compute.
std::string stopafter
Stop the calculation at a given point.
size_t dumpdiagonal
Dump diagonal matrix elements.
double chitp
Parameter for calculations.
bool dumpsubspaces
Save detailed subspace info.
double broaden_min_ratio
Auto-tune the broaden_min parameter.
size_t prec_td
Precision of columns in the 'td' output file.
bool checksumrules
Check operator sum rules.
bool dumpenergies
Dump all energies to a file.
bool restart
Restart the calculation to achieve the truncation goal.
std::string speci1t
curves to compute.
double NNtanh
Parameter in the window function.
bool NN2avg
Average over even and odd N/N+2 spectra.
std::string strategy
Recalculation strategy.
bool calc0
Perform calculations at the 0-th iteration.
double gtp
Parameter for calculations.
bool fdmexpv
Calculate expectation values using the FDM algorithm.
double grouptol
Energy tolerance for considering two states as degenerate.
bool finitemats
Perform a calculation on the Matsubara axis.
size_t width_custom
Width of columns in the 'custom' output file.
bool dumpscaled
Dump using omega_N energy units.
size_t width_td
Width of columns in the 'td' output file.
bool dumpgroups
Dump by grouping degenerate states.
size_t preccpp
Precision for tridiagonalisation.
bool lastalloverride
Override the automatic lastall setting.
double goodE
Energy window parameter for patching.
double linstep
Bin width for the linear mesh.
bool savebins
Save binned (unbroadened) data.
bool NN2even
Use even iterations in N/N+2 patching.
double emax
Upper binning limit.
double xmax
Largest in the discretization ODE solver ( : automatically determined).
bool cfsls
Compute the CFS lesser correlation function.
bool fdmgt
Compute the FDM greater correlation function.
size_t bins
Number of bins per decade for spectral data.
size_t mats
Number of Matsubara points to collect.
bool broaden
Enable broadening of spectra.
bool lastall
Keep all states in the last iteration for DMNRG.
std::string diag
Eigensolver routine (dsyev|dsyevr|zheev|zheevr|default).
std::string speci2t
curves to compute.
double omega0
Smallest energy scale in the problem, .
size_t prec_xy
Precision of the spectral function output.
size_t dumpannotated
Number of eigenvalues to dump.
size_t zheevrlimit
Minimal matrix size for zheevr.
double accumulation
Shift of the accumulation points for binning.
size_t fdmexpvn
Iteration at which the expectation values are evaluated.
bool done
Create a DONE file.
double safeguard
Additional states to keep in case of a near degeneracy.
bool finite
Perform a Costi-Hewson-Zlatic finite-T calculation.
int diagth
Number of diagonalisation threads.
size_t prec_custom
Precision of columns in the 'custom' output file.
std::string log
List of tokens defining what to log.
bool dmnrg
Perform a DMNRG (density-matrix NRG) calculation.
bool substeps
Use the interleaved diagonalization scheme.
Parameters for the solve() method.
double Lambda
Logarithmic discretization parameter.
int Nz
Number of discretization meshes (interleaved twist parameters z).
size_t keepmin
Minimum number of states to keep at each NRG step.
double bandrescale
Band rescaling factor (half-width of the support of the hybridisation function); set to mesh_max if n...
std::map< std::string, double > model_parameters
Model parameters (name to value map, e.g. U1, eps1).
friend void h5_read(h5::group h5group, std::string subgroup_name, solve_params_t &sp)
Read solve_params_t from HDF5.
double gamma
Parameter for the Gaussian convolution step.
friend void h5_write(h5::group h5group, std::string subgroup_name, solve_params_t const &sp)
Write solve_params_t to HDF5.
std::string method
Method for calculating the dynamical quantities.
double alpha
Width of the logarithmic gaussian used for broadening.
double keepenergy
Cut-off energy for truncation.
double Tmin
Lowest energy scale on the Wilson chain.
size_t keep
Maximum number of states to keep at each NRG step.