Input Variables

Description

Contains all global input variables which can be set by the user through the input file. A specific preocedure ed_read_input() should be called to read the input file using parse_input_variable() procedure from SciFortran. All variables are automatically set to a default, looked for and updated by reading into the file and, sequentially looked for and updated from command line (std.input) using the notation variable_name=variable_value(s) (case independent).

Quick access

Variables:

a_ph, bath_type, beta, bfile, cg_ftol, cg_grad, cg_method, cg_minimize_hh, cg_minimize_ver, cg_niter, cg_norm, cg_pow, cg_scheme, cg_stop, cg_weight, chidens_flag, chiexct_flag, chipair_flag, chispin_flag, cutoff, deltasc, dmft_error, ed_all_g, ed_finite_temp, ed_hw_bath, ed_input_file, ed_mode, ed_obs_all, ed_offset_bath, ed_print_chidens, ed_print_chiexct, ed_print_chipair, ed_print_chispin, ed_print_g, ed_print_g0, ed_print_sigma, ed_read_umatrix, ed_read_umatrix_, ed_sectors, ed_sectors_shift, ed_solve_offdiag_gf, ed_sparse_h, ed_total_ud, ed_twin, ed_verbose, eps, exc_field, g_ph, g_ph_diag, gphfile, gs_threshold, hfile, hfmode, hlocfile, jh, jp, jx, jz_basis, jz_max, jz_max_value, lanc_dim_threshold, lanc_method, lanc_ncv_add, lanc_ncv_factor, lanc_ngfiter, lanc_niter, lanc_nstates_sector, lanc_nstates_step, lanc_nstates_total, lanc_tolerance, lfit, lmats, logfile, lpos, lreal, ltau, nbath, ncoeff, ndelta, nerr, nloop, norb, nph, nread, nspin, nsuccess, pair_field, ph_type, print_input_vars, rdm_flag, sb_field, sectorfile, spin_field_x, spin_field_y, spin_field_z, uloc, umatrix_file, umatrixfile, ust, w0_ph, wfin, wini, xmax, xmin, xmu

Routines:

ed_read_input(), ed_update_input()

Used modules

  • ed_version: Contains the EDIpack version (git commit hash)

External modules

Variables

ed_input_vars/a_ph

Phonon forcing field coupled to displacement operator (constant)

Type:

real

Default:

0d0

ed_input_vars/bath_type

Flag to select the bath geometry

  • normal : each impurity orbital has a set of bath levels in a star geometry

  • hybrid : all impurity orbitals communicate with the same set of bath levels in a star geometry

  • replica : the impurity communicates with clusters of the same form via an hybridization term \(V\mathbb{I}\)

  • general : extends replica so that each orbital has a different hybridization strength

Type:

character(len=7)

Default:

normal

ed_input_vars/beta

Inverse temperature, at zero temperature it is used as a IR cut-off.

Type:

real

Attributes:

bind(c, name="beta")

Default:

1000d0

ed_input_vars/bfile

File where to retrieve/store the bath parameters

Type:

character(len=100)

Default:

hbasis[.used/restart]

ed_input_vars/cg_ftol

Tolerance in the conjugate-gradient fitting procedure

Type:

real

Default:

1d-5

ed_input_vars/cg_grad

Flag to set the type of gradient evaluation (if cg_method = 0 )

  • 0 : analytic

  • 1 : numeric

Type:

integer

Default:

0

ed_input_vars/cg_method

Conjugate-gradient fitting routine to be used:

  • 0 : Numerical Recipes

  • 1 :minimize (FORTRAN77 code)

Type:

integer

Default:

0

ed_input_vars/cg_minimize_hh

Unknown parameter used in the CG minimize procedure ( for cg_grad = 1 )

Type:

real

Default:

1d-4

ed_input_vars/cg_minimize_ver

If cg_grad = 1 , select which version of minimize.f to use

  • T : Lichtenstein (newer)

  • F : Krauth (older)

Type:

logical

Default:

F

ed_input_vars/cg_niter

Maximum number of iterations in the bath fitting procedure

Type:

integer

Default:

500

ed_input_vars/cg_norm

Which norm to use in the evaluation of the \(\chi^{2}\) for matrix quantities. Relevant for ed_bath = replica, general

  • ELEMENTAL : \(\chi^{2}\) is the sum of each component's \(\chi^{2}\)

  • FROBENIUS : \(\chi^{2}\) is calculated on the Frobenius norm (Matrix distance)

Type:

character(len=12)

Default:

ELEMENTAL

ed_input_vars/cg_pow

Power exponent in the \(\chi^{2}\) , according to \(\vert \mathcal{G}_{0}(i\omega_{n}) - G_{0}^{\mathrm{And}}(i\omega_{n}) \vert ^{\mathrm{cg\_pow}}\) or \(\vert \Delta(i\omega_{n})- \Delta^{\mathrm{And}}(i\omega_{n}) \vert ^{\mathrm{cg\_pow}}\)

Type:

integer

Default:

2

ed_input_vars/cg_scheme

Which quantity to use in the bath fitting routine:

  • WEISS : the lattice Weiss field Green's function \(\mathcal{G}_{0}(i\omega_{n})\) is fitted

  • DELTA : the lattice Hybridization function \(\Delta(i\omega_{n})\) is fitted

Type:

character(len=5)

Default:

Weiss

ed_input_vars/cg_stop

Conjugate-gradient stopping condition

  • 0 : 1 .and. 2

  • 1 : \(\vert F_{n-1} -F_{n} \vert < \mathrm{tol} \cdot (1+F_{n})\)

  • 2 : \(\vert\vert x_{n-1} -x_{n} \vert\vert <\mathrm{tol} \cdot (1+ \vert\vert x_{n} \vert\vert\))

Type:

integer

Default:

0

ed_input_vars/cg_weight

Weight assigned to the imaginary frequency data points in the calculation of the \(\chi^{2}\)

  • 0 : \(1\)

  • 1 : \(\frac{1}{n}\)

  • 2 : \(\frac{1}{\omega_{n}}\)

Type:

integer

Default:

0

ed_input_vars/chidens_flag

Flag to activate charge susceptibility evaluation

Type:

logical

Default:

F

ed_input_vars/chiexct_flag

Flag to activate excitonic susceptibility evaluation

Type:

logical

Default:

F

ed_input_vars/chipair_flag

Flag to activate pairing susceptibility evaluation

Type:

logical

Default:

F

ed_input_vars/chispin_flag

Flag to activate spin susceptibility evaluation

Type:

logical

Default:

F

ed_input_vars/cutoff

Spectrum cut-off, used to determine the number states to be retained

Type:

real

Default:

1d-9

ed_input_vars/deltasc

Value of the SC symmetry breaking term (only used if ed_mode = superc )

Type:

real

Default:

2d-2

ed_input_vars/dmft_error

Error threshold for DMFT convergence

Type:

real

Attributes:

bind(c, name="dmft_error")

Default:

1d-5

ed_input_vars/ed_all_g

Flag to evaluate all the components of the impurity Green`s functions irrespective of the symmetries

Type:

logical

Default:

F

ed_input_vars/ed_finite_temp

Flag to set whether the problem is at finite temperature.If T then lanc_nstates_total must be greater than 1.

Type:

logical

Default:

F

ed_input_vars/ed_hw_bath

Half-bandwidth for bath level initialization if bath_type = normal, hybrid . The levels will be equispaced in the range [-hw,hw]

Type:

real

Default:

2d0

ed_input_vars/ed_input_file

Name of input file

Type:

character(len=200)

ed_input_vars/ed_mode

Flag to set the ED mode

  • normal : normal

  • superc : s-wave superconductive (singlet pairing)

  • nonsu2 : broken SU(2) symmetry

Type:

character(len=7)

Default:

normal

ed_input_vars/ed_obs_all

Flag to print observables for every loop

Type:

logical

Default:

T

ed_input_vars/ed_offset_bath

Offset for the initialization of diagonal terms if bath_type = replica, general . The replicas will be equally spaced in the range [-offset,offset]

Type:

real

Default:

1d-1

ed_input_vars/ed_print_chidens

Flag to print impurity dens susceptibility, if calculated

Type:

logical

Default:

T

ed_input_vars/ed_print_chiexct

Flag to print impurity exct susceptibility, if calculated

Type:

logical

Default:

T

ed_input_vars/ed_print_chipair

Flag to print impurity pair susceptibility, if calculated

Type:

logical

Default:

T

ed_input_vars/ed_print_chispin

Flag to print impurity spin susceptibility, if calculated

Type:

logical

Default:

T

ed_input_vars/ed_print_g

Flag to print impurity Green`s functions

Type:

logical

Default:

T

ed_input_vars/ed_print_g0

Flag to print impurity non-interacting Green`s functions

Type:

logical

Default:

T

ed_input_vars/ed_print_sigma

Flag to print impurity Self-energies

Type:

logical

Default:

T

ed_input_vars/ed_read_umatrix

Flag to enable ( T ) or not (F ) reading the two-body terms from an external filedefined by umatrix_file

Type:

logical

Attributes:

bind(c, name="ed_read_umatrix")

Default:

F

ed_input_vars/ed_read_umatrix_
Type:

logical

ed_input_vars/ed_sectors

Flag to reduce sector scan for the spectrum to specific sectors

Type:

logical

Default:

F

ed_input_vars/ed_sectors_shift

Additional sectors to be evaluated if ed_sectors is set. These are sectors with all the quantum numbers varying of at most by ed_sectors_shift around the sectors listed in ed_sectors.

Type:

integer

Default:

1

ed_input_vars/ed_solve_offdiag_gf

Flag to select the calculation of the off-diagonal impurity GF. Set to T by default if bath_type is not normal

Type:

logical

Default:

F

ed_input_vars/ed_sparse_h

Flag to select storage of the Fock space Hamiltonian as a sparse matrix

  • T : \(H\) is stored. CPU intensive

  • F : on-the-fly \(H \cdot v\) product is stored. Memory intensive

Type:

logical

Default:

T

ed_input_vars/ed_total_ud

Flag to select which type of quantum numbers have to be considered (if ed_mode = normal)

  • T : blocks have different total \(N_{\uparrow}\) and \(N_{\downarrow}\)

  • F : blocks have different total \(N^{\alpha}_{\uparrow}\) and \(N^{\alpha}_{\downarrow}\)

where \(\alpha\) is the orbital index. Speeds up calculation in the case where orbitals are not hybridized

Type:

logical

Attributes:

bind(c, name="ed_total_ud")

Default:

T

ed_input_vars/ed_twin

Flag to reduce ( T ) or not (F ) the number of visited sector using twin symmetry

Type:

logical

Attributes:

bind(c, name="ed_twin")

Default:

F

ed_input_vars/ed_verbose

Verbosity level:

  • 0 : almost nothing

  • 3 : most of the verbose output

  • 5 : everything. Really, everything

Type:

integer

Default:

3

ed_input_vars/eps

Broadening on the real frequency axis for Green's function and Susceptibility calculations.

Type:

real

Attributes:

bind(c, name="eps")

Default:

1d-2

ed_input_vars/exc_field

External field coupling to exciton order parameter

Type:

real(4)

Default:

zero

ed_input_vars/g_ph

Electron-phonon coupling constant all

Type:

complex(•, •)

Attributes:

allocatable

Default:

zero

ed_input_vars/g_ph_diag
Type:

real(•)

Attributes:

allocatable

ed_input_vars/gphfile

File of Phonon couplings. Set to NONE to use only density couplings.

Type:

character(len=100)

Default:

NONE

ed_input_vars/gs_threshold

Energy threshold for ground state degeneracy loop up

Type:

real

Default:

1d-9

ed_input_vars/hfile

File where to retrieve/store the bath parameters

Type:

character(len=100)

Default:

hamiltonian[.used/restart]

ed_input_vars/hfmode

Flag to set the form of the Hubbard-Kanamori interaction

  • T : \(U(n_{\uparrow}-\frac{1}{2})(n_{\downarrow}-\frac{1}{2})\)

  • F : \(Un_{\uparrow}n_{\downarrow}\)

Type:

logical

Default:

T

ed_input_vars/hlocfile

File to read the input local H from

Type:

character(len=100)

Default:

inputHLOC.in

ed_input_vars/jh

Hund's coupling constant

Type:

real

Attributes:

bind(c, name="jh")

Default:

0.d0

ed_input_vars/jp

Coupling constant for the Pair-hopping interaction term

Type:

real

Attributes:

bind(c, name="jp")

Default:

0.d0

ed_input_vars/jx

Coupling constant for the spin-eXchange interaction term

Type:

real

Attributes:

bind(c, name="jx")

Default:

0.d0

ed_input_vars/jz_basis

Flag to enable the \(J_{z}\) basis in SOC calculations

Type:

logical

Default:

F

ed_input_vars/jz_max

Flag to enable a maximum value for \(J_{z}\)

Type:

logical

Default:

F

ed_input_vars/jz_max_value

Maximum value for Jz

Type:

real

Default:

1000d0

ed_input_vars/lanc_dim_threshold

Minimal sector dimension for Lanczos diagonalization. Smaller sectors will be solved with Exact Diagonalization provided by Lapack

Type:

integer

Default:

1024

ed_input_vars/lanc_method

Flag to select the Lanczos method to be used in the determination of the spectrum.

  • ARPACK : uses the Arnoldi algorithm

  • LANCZOS: uses an in-house Lanczos algorithm (limited to zero temperature)

Type:

character(len=12)

Default:

ARPACK

ed_input_vars/lanc_ncv_add

Offset to add to the size of the block to prevent it to become too small according to \(N_{cv}=\mathrm{lanc\_ncv\_factor} \cdot \mathrm{Neigen} + \mathrm{lanc\_ncv\_add}\)

Type:

integer

Default:

0

ed_input_vars/lanc_ncv_factor

Size of the block used in Lanczos-Arpack by multiplying the required Neigen according to \(N_{cv}=\mathrm{lanc\_ncv\_factor} \cdot \mathrm{Neigen} + \mathrm{lanc\_ncv\_add}\)

Type:

integer

Default:

10

ed_input_vars/lanc_ngfiter

Number of Lanczos iteration in GF determination. Number of moments.

Type:

integer

Default:

200

ed_input_vars/lanc_niter

Max number of Lanczos iterations

Type:

integer

Default:

512

ed_input_vars/lanc_nstates_sector

Max number of required eigenvalues per sector

Type:

integer

Default:

2

ed_input_vars/lanc_nstates_step

Number of states added at each step for finite-temperature calculations: if the latest state included in thepartition function has a Boltzmann weight higher than cutoff, lanc_nstates_total will be increased by this amount at the next DMFT iteration.

Type:

integer

Default:

2

ed_input_vars/lanc_nstates_total

Max number of states contributing to the partition function for finite-temperature calculations.It must be set to 1 for zero-temperature calculations, and to a greater value for finite-temperature calculations.

Type:

integer

Default:

1

ed_input_vars/lanc_tolerance

Tolerance for the Lanczos iterations as used in Arpack and plain Lanczos

Type:

real

Default:

1d-18

ed_input_vars/lfit

Number of frequencies for bath fitting

Type:

integer

Attributes:

bind(c, name="lfit")

Default:

1000

ed_input_vars/lmats

Number of Matsubara frequencies

Type:

integer

Attributes:

bind(c, name="lmats")

Default:

4096

ed_input_vars/logfile

Logfile unit

Type:

integer

Attributes:

save, bind(c, name="logfile")

Default:

6

ed_input_vars/lpos

Number of points in Probability Distribution Function lattice for phonons

Type:

integer

Attributes:

bind(c, name="lpos")

Default:

100

ed_input_vars/lreal

Number of real-axis frequencies

Type:

integer

Attributes:

bind(c, name="lreal")

Default:

5000

ed_input_vars/ltau

Number of imaginary time points

Type:

integer

Attributes:

bind(c, name="ltau")

Default:

1024

ed_input_vars/nbath

Number of bath sites:

  • bath_type = normal : number of bath sites per orbital

  • bath_type = hybrid : total number of bath sites

  • bath_type = replica/general : number of replicas

Type:

integer

Attributes:

bind(c, name="nbath")

Default:

6

ed_input_vars/ncoeff

Multiplier for the ndelta value if xmu and its error are read from a file ( \(\mathrm{ndelta} \rightarrow \mathrm{ndelta} \cdot \mathrm{ncoeff}\) )

Type:

real

Default:

1d0

ed_input_vars/ndelta

Initial chemical potential variation for fixed-density calculations

Type:

real

Default:

1d-1

ed_input_vars/nerr

Error threshold for fixed-density calculations

Type:

real

Default:

1d-4

ed_input_vars/nloop

Maximum number of DMFT loops

Type:

integer

Attributes:

bind(c, name="nloop")

Default:

100

ed_input_vars/norb

Number of impurity orbitals (max 5 )

Type:

integer

Attributes:

bind(c, name="norb")

Default:

1

ed_input_vars/nph

Max number of phonons allowed (cut off)

Type:

integer

Attributes:

bind(c, name="nph")

Default:

0

ed_input_vars/nread

Target occupation value for fixed-density calculations. If set to 0.0 the calculation is assumed to be at fixed xmu

Type:

real

Attributes:

bind(c, name="nread")

Default:

0d0

ed_input_vars/nspin

If 1, assume \(H_{\downarrow}\) = \(H_{\uparrow}\) . If 2 , the Hamiltonian needs to explicitly include spin-up and spin-down blocks

Type:

integer

Attributes:

bind(c, name="nspin")

Default:

1

ed_input_vars/nsuccess

Number of repeated success to fall below convergence threshold

Type:

integer

Attributes:

bind(c, name="nsuccess")

Default:

1

ed_input_vars/pair_field

Pair field per orbital coupling to s-wave order parameter component which explicitly appears in the impurity Hamiltonian

Type:

real(•)

Attributes:

allocatable

Default:

zero

ed_input_vars/ph_type

Shape of the e part of the e-ph interaction:

  • 1 = orbital occupation

  • 2 = orbital hybridization

Type:

integer

Default:

1

ed_input_vars/print_input_vars

Flag to toggle the printing on the terminal output of a list of input variables and their values

Type:

logical

Default:

T

ed_input_vars/rdm_flag

Flag to activate Reduced Density Matrix evaluation

Type:

logical

Default:

F

ed_input_vars/sb_field

Value of a symmetry breaking field for magnetic solutions

Type:

real

Attributes:

bind(c, name="sb_field")

Default:

1d-1

ed_input_vars/sectorfile

File where to retrieve/store the sectors contributing to the spectrum

Type:

character(len=100)

Default:

sectors[.used/restart]

ed_input_vars/spin_field_x

Magnetic field per orbital coupling to X-spin component

Type:

real(•)

Attributes:

allocatable

Default:

zero

ed_input_vars/spin_field_y

Magnetic field per orbital coupling to Y-spin component

Type:

real(•)

Attributes:

allocatable

Default:

zero

ed_input_vars/spin_field_z

Magnetic field per orbital coupling to Z-spin component

Type:

real(•)

Attributes:

allocatable

Default:

zero

ed_input_vars/uloc

Values of the local interaction per orbital (max 5 )

Type:

real(5)

Attributes:

bind(c, name="uloc")

Default:

[2d0, 0d0, 0d0, 0d0, 0d0]

ed_input_vars/umatrix_file

Name of two-body operator file

Type:

character(len=200)

Default:

umatrix

ed_input_vars/umatrixfile

File read the list of two-body operators from :Default HLOCfile:umatrix[.used/restart]

Type:

character(len=100)

ed_input_vars/ust

Value of the inter-orbital interaction term

Type:

real

Attributes:

bind(c, name="ust")

Default:

0d0

ed_input_vars/w0_ph

Phonon frequency

Type:

real

Default:

0d0

ed_input_vars/wfin

Maximum value of the real frequency range

Type:

real

Attributes:

bind(c, name="wfin")

Default:

5d0

ed_input_vars/wini

Minimum value of the real frequency range

Type:

real

Attributes:

bind(c, name="wini")

Default:

-5d0

ed_input_vars/xmax

Maximum of the x-range for the local lattice probability distribution function (phonons)

Type:

real

Attributes:

bind(c, name="xmax")

Default:

3d0

ed_input_vars/xmin

Minimum of the x-range for the local lattice probability distribution function (phonons)

Type:

real

Attributes:

bind(c, name="xmin")

Default:

-3d0

ed_input_vars/xmu

Chemical potential. If HFMODE = T, xmu = 0.d0 indicates half-filling condition.

Type:

real

Attributes:

bind(c, name="xmu")

Default:

0d0

Subroutines and functions

subroutine  ed_input_vars/ed_read_input(inputunit)

This functions reads the input file provided by INPUTunit and sets the global variables accordingly

Parameters:

inputunit [character(len=*)]

Use :

mpi, sf_mpi

subroutine  ed_input_vars/ed_update_input(name, vals)

This functions updates some variables in the input file, namely

exc_field, pair_field, exc_field,

spin_field_x, spin_field_y, and spin_field_z.

Parameters:
  • name [character(len=*)] – the name of the variable to update

  • vals (•) [real] – the new value of the variable