23#include "./container_set.hpp"
24#include "./params.hpp"
31#include <triqs/gfs/hilbert_transform.hpp>
32#include <triqs/utility/macros.hpp>
34namespace nrgljubljana_interface {
47 mpi::communicator world;
85 gf_struct_t
read_structure(
const std::string &filename,
bool mandatory);
104 void instantiate(
double z,
const std::string &taskdir);
111 void solve_one(
const std::string &taskdir);
188 C2PY_IGNORE
void readGF(
const std::string &name, std::optional<g_w_t> &
G_w, gf_struct_t &_gf_struct);
199 C2PY_IGNORE
void readA(
const std::string &name, std::optional<g_w_t> &
A_w, gf_struct_t &_gf_struct);
215 static std::string
hdf5_format() {
return "NRGLJUBLJANA_INTERFACE_SolverCore"; }
232 std::complex<double> hilbert_transform_refreq(
const c_w_cvt &gf, std::complex<double> z);
241 matrix<std::complex<double>> hilbert_transform_elementwise(
const m_w_cvt &gf, std::complex<double> z);
TRIQS interface to the NRGLjubljana numerical renormalization group impurity solver.
void set_verbosity(bool v)
Set the verbosity (see also be_quiet()).
nrg_params_t nrg_params
Low-level NRG parameters.
std::optional< solve_params_t > last_solve_params
Parameters used for the most recent solve process.
static std::string hdf5_format()
HDF5 format tag for the solver object.
void be_quiet()
Read a scalar real-valued function name.dat.
void readtdfdm(int Nz)
Read thermodynamic variables (FDM algorithm) from the NRG output files.
constr_params_t constr_params
Parameters used for the solver construction.
C2PY_IGNORE void readGF(const std::string &name, std::optional< g_w_t > &G_w, gf_struct_t &_gf_struct)
Read a block Green's function from (im/re)name-block-ij.dat files.
refreq_log log_mesh
Logarithmic real-frequency mesh.
g_w_t Delta_w
The hybridization function on the real-frequency axis.
friend void h5_write(h5::group h5group, std::string subgroup_name, solver_core const &s)
Write a solver object to an HDF5 file.
void solve(solve_params_t const &solve_params)
Solve the impurity problem.
void generate_param_file(double z)
Produce the param file for a given value of the twist parameter .
gf_struct_t gf_struct
The Green's function structure object.
void check_model_params(const solve_params_t &sp)
Check that all required model parameters have been defined.
gf_struct_t Delta_struct
The hybridization function structure object.
solver_core(constr_params_t cp)
Construct an NRGLjubljana_interface solver.
void set_params()
Establish good defaults for the low-level NRG parameters.
gf_struct_t chi_struct
The susceptibility structure object.
std::string create_tempdir(const std::string &tempdir_)
Create a temporary working directory for a series of NRG runs.
C2PY_IGNORE void readA(const std::string &name, std::optional< g_w_t > &A_w, gf_struct_t &_gf_struct)
Read a block spectral function from name-block-ij.dat files.
gf_struct_t read_structure(const std::string &filename, bool mandatory)
Read the block structure of Green's function objects from a file.
void solve_one(const std::string &taskdir)
Perform an individual NRG calculation. Called from solve().
void readexpv(int Nz)
Read expectation values from the NRG output files.
void set_nrg_params(nrg_params_t const &nrg_params)
Adjust the advanced (low-level) NRG parameters.
void write_gamma()
Write to a file.
bool verbose
If true, detailed output from NRGLjubljana and its tools is sent to stdout.
bool keep_temp_dir
Keep the temporary directories after the calculation.
void instantiate(double z, const std::string &taskdir)
Prepare the input files for an individual NRG calculation. Called from solve().
static C2PY_IGNORE solver_core h5_read_construct(h5::group h5group, std::string subgroup_name)
Construct a solver object from an HDF5 file.
Construction parameters for the NRGLjubljana solver.
Collection of all output containers held by the solver.
std::optional< g_w_t > G_w
The retarded Green's function .
std::optional< g_w_t > A_w
The spectral function .
Low-level NRG parameters.
Parameters for the solve() method.