Published February 8, 2023 | Version v2

Configuration interaction based nonequilibrium steady state impurity solver

  • 1. TU Graz

Contributors

  • 1. TU Graz

Description

This directory tree contains the dataset for the publication included here (publication.pdf):

D. Werner, J. Lotze and E. Arrigoni, "Configuration interaction based nonequilibrium steady state impurity solver", Phys. Rev. B 107, 075119 (2023). DOI: 10.1103/PhysRevB.107.075119

The paper introduces a configuration interaction (CI) impurity solver, and its complete-active-space extension (CASCI), within the auxiliary master equation approach (AMEA). AMEA maps the single-impurity Anderson model (impurity with Hubbard interaction U, coupled to two leads) onto an auxiliary open quantum system: an impurity coupled to a finite number of bath sites that are, in turn, coupled to Markovian environments described by a Lindblad equation. The physical hybridization function of the impurity, Delta_phys, is reproduced by fitting the parameters of this auxiliary bath (its on-site energies / hoppings E and its dissipative Lindblad matrices Gamma^(1), Gamma^(2)); the mapping becomes exponentially accurate with the number of bath sites N_B. CI/CASCI allow more bath sites than plain exact diagonalization (ED) at lower cost. The dataset benchmarks CI/CASCI against ED, matrix product states (MPS), and the numerical renormalization group (NRG), and computes the equilibrium and nonequilibrium conductance and the Kondo-peak splitting of the Anderson model.

Units: unless noted otherwise, all energies (U, T, V, omega, ...) are given in units of Gamma, defined by -Im(Delta_phys^R(w=0)) = Gamma. The leads have a flat band of half-bandwidth D = 10*Gamma, smoothed with a fictitious temperature T_fict = 0.5*Gamma. The impurity is particle-hole symmetric (on-site energy eps_imp = -U/2). The bias voltage V (also called phi in the paper) enters as the difference of the two lead chemical potentials, mu_R = V/2 = -mu_L.

Note on file formats: the "example.txt" template refers to a JSON-per-simulation layout used for a different dataset. In THIS dataset the results are instead stored as column-based text files (.csv / .dat), described in detail below, together with the input hybridization functions and the fitted auxiliary-bath parameters needed to reproduce them. Auxiliary material (Python evaluation/plotting scripts, HPC job scripts and stdout logs) is also included; see the last section.

===========================================================================
Naming conventions used throughout
===========================================================================

Green's function / self-energy result files are named, e.g.:

    GF_data_real_sites_9_U_4.0_nup_0.3_intend_0_method_CI_inputdata_gam-t0.05v1.dat_.csv

    "sites_<n>"    -> total number of sites of the auxiliary system = 1 impurity + N_B bath sites (so "sites_7" = N_B = 6, "sites_9" = N_B = 8, "sites_11" = N_B = 10, "sites_17" = N_B = 16)
    "U_<x>"        -> Hubbard interaction U on the impurity
    "nup_<x>"      -> m_up = <n_f,up>, the (spin-up) impurity occupation used as a free mean-field/Hartree-Fock parameter of the CI reference state; range [0, 0.5], with 0.5 being half filling (see Sec. III A and Eq. (28) of the paper)
    "method_<CI|CASCI>" -> impurity solver used (CI or its complete-active-space extension CASCI)
    "intend_<n>"   -> internal run index/label (0 in all files here)
    "inputdata_gam-t<T>v<V>" -> identifies the input hybridization function used for this run: T is the physical temperature and V the bias voltage of the leads (see next item)

The auxiliary input/parameter files are named "gam-t<T>v<V>" / "hybr-t<T>v<V>":

    "t<T>"         -> physical temperature T of the leads
    "v<V>"         -> bias voltage V (= phi) applied across the leads; v0.0 is equilibrium
    "-auxN<n>"     -> where present, marks a quantity belonging to the fitted auxiliary bath with n total sites (as opposed to the physical target)

===========================================================================
File formats
===========================================================================

CI / CASCI results  ("GF_data_real_..._.csv"):
    Semicolon (";") separated, no header, 9 columns, one row per frequency:
        col 1: omega                 (frequency grid, units of Gamma)
        col 2: Re G^K   (= 0)        (real part of Keldysh Green's function; zero by construction)
        col 3: Im G^K                (imaginary part of Keldysh Green's function)
        col 4: Re G^R                (real part of retarded Green's function)
        col 5: Im G^R                (imaginary part of retarded Green's function; -pi*Im G^R is the spectral function)
        col 6: Re Sigma^K (= 0)      (real part of Keldysh self-energy; zero by construction)
        col 7: Im Sigma^K            (imaginary part of Keldysh self-energy)
        col 8: Re Sigma^R            (real part of retarded self-energy)
        col 9: Im Sigma^R            (imaginary part of retarded self-energy)
    (i.e. each file contains both the impurity Green's function and self-energy.)

ED reference results  (files "Aux_GF.dat" and "Sigma.dat" inside the ED folders):
    Space separated, one comment header line, 5 columns:
        "%omega real-ret imag-ret real-kel imag-kel"
        col 1: omega
        col 2: Re (retarded)     [G^R for Aux_GF.dat, Sigma^R for Sigma.dat]
        col 3: Im (retarded)
        col 4: Re (Keldysh)      (= 0 by construction)
        col 5: Im (Keldysh)
    "Aux_GF.dat" is the impurity Green's function of the auxiliary system, "Sigma.dat" the corresponding self-energy. Alongside them:
        "MB_out__MBlog_N_E_Gamma.dat" -> the parameters of the auxiliary (Lindblad) many-body system for that run: first the dimension N, then the real matrix E (unitary part: on-site energies and hoppings of Eq. (12)), followed by the two complex matrices Gamma^(1) and Gamma^(2) (the dissipative Lindblad coupling matrices of Eq. (11)); entries "(re,im)".
        "MB_out__MBlog_Krylov.dat" -> solver (Krylov/Lanczos) log for that run.

MPS reference results  (files "MPS_data_T<T>_GR.json" and "..._SR.json"):
    JSON. A list of series objects, each with an "x" array (frequency grid) and the corresponding function values. "GR" holds the retarded Green's function G^R, "SR" the retarded self-energy Sigma^R.

Physical / auxiliary hybridization functions  (files "hybr-t<T>v<V>[...]" under hybridization_function/.../hybfunc/):
    Space separated, one comment header line, 3 columns:
        "% omega imag-ret imag-keld"
        col 1: omega
        col 2: Im Delta^R   (imaginary part of the retarded hybridization function)
        col 3: Im Delta^K   (imaginary part of the Keldysh hybridization function)
    Files without a suffix are the physical hybridization Delta_phys; files with "-auxN<n>" are the hybridization of the fitted auxiliary bath with n sites (cf. Eq. (14) and the cost function Eq. (17)).

Fitted auxiliary-bath parameter files  (files "gam-t<T>v<V>[_<n>_sites].dat" under hybridization_function/.../gammas/):
    The fitted auxiliary-system (Lindblad) parameters (E and Gamma matrices, same content as "MB_out__MBlog_N_E_Gamma.dat" above) that are fed to the CI/CASCI/ED solver as the "inputdata gam-..." referenced by the result-file names. These are the quantities needed to reproduce the solver runs.

Conductance vs temperature, NRG reference  (files under conductance_eq/cond_NRG_.../cond_U_<U>_high_acc_long):
    Semicolon separated, 2 columns:
        col 1: temperature T
        col 2: linear conductance G (equilibrium, V = 0)

===========================================================================
Directory structure (mapped to the paper)
===========================================================================

"comparison_with_ED"  -> benchmark of CI against numerically exact ED for the Anderson impurity model, for N_B = 6 (7 sites), U = 6, T = 0.05, as a function of the mean-field parameter m_up ("nup") and of the bias voltage V. This underlies the method-parameter analysis (choice of m_up) and the CI-vs-ED accuracy of the paper.
    "GFs_n_up_sweep_CI/"  -> CI results (the ".csv" files described above), one per (nup, V).
    "GFs_n_up_sweep_ED/"  -> ED "exact" results, organized in one subfolder per input hybridization ("gam-t0.05v0.0", "gam-t0.05v0.333", ...), each containing Aux_GF.dat, Sigma.dat and the MB_out__* auxiliary-system parameter/log files.
    "hybridization_function/sites_7/" -> the inputs and fit for N_B = 6: "hybfunc/" (physical and fitted auxiliary hybridization functions), "gammas/" (fitted auxiliary-bath parameter files), "output/" (HPC stdout logs of the fitting sweep), plus a small helper script.
    "evluation_scripts/"  -> Python script (evalute_sweep.py) that reads the CI and ED files and computes/plots the error (note: folder name is spelled "evluation").

"comparison_with_MPS"  -> benchmark of the impurity Green's function / self-energy across three solvers at U = 6, T = 0.05:
    "ED_GFs_7_sites_U_6_T_0.05/"   -> ED result (N_B = 6).
    "CI_GFs_9_sites_U_6_T_0.05/"   -> CI result (N_B = 8).
    "MPS_GFs_17_sites_U_6_T_0.05/" -> MPS reference (N_B = 16), as the two JSON files (GR, SR).
    "hybridization_function/"      -> corresponding input hybridization and fitted bath parameters.
    "evaluation_scripts/"          -> plotting/analysis scripts.

"conductance_eq"  -> equilibrium (V = 0) linear conductance as a function of temperature, for U = 4, 6, 8, used to demonstrate the T/T_K scaling collapse. The temperature is swept via the many "gam-t<T>v0.0" input hybridizations.
    "ED_GFs_7_sites_V_0_U_4_6_8/"  -> ED conductance data (N_B = 6).
    "CI_GFs_9_sites_V_0_U_4_6_8/"  -> CI conductance data (N_B = 8).
    "CI_GFs_11_sites_V_0_U_4_6_8/" -> CI conductance data (N_B = 10).
    "cond_NRG_V_0_U_4_6_8/"        -> NRG reference conductance vs temperature (cond_U_4.0/6.0/8.0_high_acc_long; two-column T ; G files).
    "hybridization_function/", "evalutation_scripts/" -> inputs and analysis scripts (folder name spelled "evalutation").

"conductance_non_eq"  -> nonequilibrium conductance and Kondo-peak splitting as a function of bias voltage, at fixed Kondo temperature T_K = 0.25 (U = 4, CASCI, N_B = 8 / 9 sites). The bias voltage V ("v...") is swept, at fixed temperature (t0.12).
    "CI_GFs_TK_0.25_9_sites/"      -> the CASCI Green's function / self-energy ".csv" files, one per bias voltage.
    "hybridization_function/", "evalutation_scripts/" -> inputs and analysis scripts.

===========================================================================
Auxiliary (non-data) files
===========================================================================

For completeness and reproducibility the tree also contains:
    "*.py"           -> Python evaluation / plotting scripts (and "*.pyc" their compiled bytecode caches; these can be ignored).
    "*.out", "*.out-<n>", "*.pbs" -> stdout logs and submit scripts of the HPC (PBS) batch jobs that produced the fits/sweeps; kept as a provenance record and not needed to use the data.

The primary scientific data are the ".csv" (CI/CASCI), ".dat" (ED, hybridization, NRG conductance) and ".json" (MPS) files described in the "File formats" section above. The fitted auxiliary-bath parameter files ("gammas/gam-*.dat", "MB_out__MBlog_N_E_Gamma.dat") together with the physical hybridization functions provide the full input needed to regenerate the solver results.

This research was funded in part by the Austrian Science Fund (FWF) [Grant DOI:10.55776/P33165]

 

Files

Files (710.9 MB)

Name Size Download all
md5:a8eba74161aa730f85bac6460613defd
710.9 MB Download

Additional details

Related works

Is source of
Publication: 10.1103/PhysRevB.107.075119 (DOI)

Funding

FWF Austrian Science Fund
10.55776/P33165