Input

The input parameters are handed over collectively as compsite type with the name arguments(). We highly recommend to always initialzie a new instance of this struct when running the Eliashberg solver, as some of the parameters may be overwritten during a run. Such parameters are marked by either -1 or "" for numeric and string variables, respectively.

All energies internally are assumed to be in meV. If the input files differ from that, the units are extracted from the header and converted automatically. If this doesn't work for some reason, please double check the header of your input files or specify the units manually via the corresponding input parameters. A comprehensive description of all the input parameters can be found below.

General

An overview of the most relevant inputs is given below. Keep in mind that all -1's or ""'s of required variables will be overwritten during the execution. For more details please refer to the dedicated sections below.

NameTypeDefaultDescriptionComment
tempsVector{Number}[-1]Considered temperatures-1: Tc search mode $\\$ else: Tc search at specified values
a2f_fileString""Path to $\alpha^2F$-fileRequired for all calculations
ind_smearInt64-1Used smearing columnPer default the smearing in the middle column is used
muFloat64-1$\mu=N(e_f)*W(e_f,e_f)$Measure for the Coulomb strength
muc_ADFloat64-1Morel-Anderson Pseudopotential Allen-Dynes $\mu^*_{AD}$-
muc_MEFloat64-1Morel-Anderson Pseudopotential Migdal-Eliashberg $\mu^*_{ME}$-
typElFloat64-1typical electronic energyused to calculate $\mu^*$ from $\mu$
omega_cFloat647000Matsubara cutoff $\omega_c$ in meV
encutFloat645000Cutoff for integrationin meV
shiftcutFloat642000Cutoff for integration of shift. Always smaller than encutin meV
mixing_betaNumberIteration $\\$ dependentLinear mixing factor
cDOS_flagInt641dos_file has to be specified0: variable dos $\\$ 1: constant dos
dos_fileString""Path to the dos-fileRequired if cDOS_flag = 0
efFloat64-1Fermi-energy DOS in meVIs extracted from the header of the dos-file if not set
mu_flagInt641Update the chemical potential in vDOS calculations?0: no $//$ 1: yes (recommended)
nItFullCoulNumber10Dampens Coulomb contribution unitl nItFullCoulth iteration
include_WeepInt640Weep_file and Wen_file have to be specified0: Morel-Anderson Pseudopotential $\\$ 1: static Coulomb interaction $W(\varepsilon,\varepsilon')$
Weep_fileString""Path to W-fileRequired if include_Weep = 1
Wen_fileString""Path to file containing the energy grid points of WOnly required if the energies are not contained in the Weep_file
efWFloat64-1Fermi-energy W in meVIs extracted from the header of the Wen-file if not set
conv_thr$10^{-4}$convergence threshold-
minGapFloat640.1termination criterion$\Delta(0)<$ minGap
N_itInt645000maximum number of iterations-
sparseSamplingTempFloat642maximum temperature for sparse sampling-
itpBoundsVector{Float64}[100,500]interpolation intervals-
itpStepSizeVector{Int64}[1,5,50]interpolation step size-
outdirStringpwd()Path to the output directory
flag_figureInt641Should the gap and the $\alpha^2F$-values be plotted?0: No $\\$ 1: Yes
flag_writeSelfEnergyInt640Should the self-energy components be saved?0: No $\\$ 1: Yes
materialString"Material"Name of compoundTitle used in plots, summary, ...

Pseudopotentials $\mu,~\mu^*_{AD}~\&~\mu^*_{ME}$

$\mu$ measures the strength of the Coulomb interaction at the fermi-surface: $\mu=W(\varepsilon_F,\varepsilon_F)$. It is connected to the pseudopotentials via:

\[\mu^*_{AD}=\frac{\mu}{1+\mu \text{ ln}\left(\frac{\varepsilon_{el}}{\hbar \omega_{ph}}\right)}\]

where $\omega_{ph}$ is a characteristic cutoff frequency for the phonon-induced interaction and $\varepsilon_{el}$ is a characteristic electronic energy scale. The typical electronic energy can be explicitly sepcified through typEl, otherwise the fermi energy (ef or efW) will be used. For the characteristic phonon cutoff the Matsubara cutoff and the maximum given phonon frequency are used in case of ME or AD, respectively.

Per default, the $\mu$ and $\mu^*$'s are set to -1, which indicates that muc_AD = 0.12 is used. This also fixes muc_ME through

\[\mu^*_{ME}= \frac{\mu^*_{AD}}{(1 + \mu^*_{AD} \ln(\frac{\omega_{ph}}{\omega_c}))}~.\]

If the $\mu's$ or a $\mu^*$ is set, the unspecified $\mu^*$'s, will be calculated based on it. However, no user input will be overwritten. Furthermore, if neither of the $\mu$/$\mu^*$'s is specified but a Weep-file is given, the $\mu$ will be calculated from the $W$.

Interpolation of the energy grid

To resolve the properties of the electron-phonon coupling, an interpolation of the energy grid using the bounds and steps specified by itpBounds and itpStepSize is performed. The bounds specify the region around the Fermi level, in which steps of size itpStepSize are used. E.g. the first step size is used within the first region around the Fermi level.

Read-In

IsoME automatically recognizes the formatting of $\textsc{QE/EPW/BerkeleyGW}$ files. Compatibility with other DFT/DFPT/GW packages is currently under development. However, the read-in function has been designed to rely on as little formatting as possible and will often work for different formattings as well. If the auto-recognition fails, either adapt the formatting of the input files or manually set it through the dedicated flags. For details please refer to the dedicated section for each input file. Possible sources of errors are the number of header/footer lines, the Fermi energy, or the units.

In its auto-recognition mode, IsoME interprets non-numerical rows at the beginning (end) of the file as the header (footer). From the header, the unit (Currently supported units are meV, eV, THz, Ry, Ha) and, in case of a dos/W-file, the Fermi energy are extracted.

$\alpha^2F$

The Eliashberg spectral function $\alpha^2F(\omega)$ is required for all calculations. The $\alpha^2F(\omega)$ -file can contain an arbitrary amount of columns, but the first column must contain the energies and the remaining columns are interpreted as $\alpha^2F(\omega)$ -values for different smearings. If the user does not specify the smearing column via ind_smear, the column in the middle will be used.

Summary formatting:

  • header: Non-numeric rows at the beginning of the document. If the header contains the unit (meV, eVm THz, Ry, Ha), it will be extraced automatically, otherwise set the unit via dos_unit.
  • footer: Non-Numeric rows at the end of the document.
  • first column: energies
  • second column onwards: $\alpha^2F$ values for different smearings. Per default the smearing in the middle is used.

The number of header/footer lines and smearing values should be recognized automatically. If this is not the caseset it through the dedicated input parameters:

NameTypeDefaultDescriptionComment
a2f_unitString""Unit of the a2f-fileIs extracted from the header of the dos-file if not set. Currently supported: meV, eV, THz, Ry, Ha
nsmearInt64-1number of smearings in the a2f-fileAuto-recognition if unset
nheader_a2fInt64-1number of header lines in a2f_fileAuto-recognition if unset
nheader_a2fInt64-1number of footer lines in a2f_fiAuto-recognition if unset
Detailed description

a2f_file :: STRING

Path to the $\alpha^2F$-file. Required for all calculations. The first column must contain the energies, the second column onwards the $\alpha^2F$ values for different smearings.

ind_smear :: INTEGER | Default: 1

Index of the smearing that should be used.

a2f_unit :: STRING | Default: nothing

Energy unit in the $\alpha^2F$-file

ValueDescription
-1Auto-extraction from header
meV-
eV-
THz-
Ry-
Ha-

nheader_a2f :: INTEGER | Default: nothing

Number of header lines in the $\alpha^2F$-file

ValueDescription
-1Auto-recognition

nfooter_a2f :: INTEGER | Default: nothing

Number of footer lines in the $\alpha^2F$-file

ValueDescription
-1Auto-recognition

$N(\epsilon)$

For vDOS calculations a dos-file is required. The first and second column of the dos-file are interpreted as the energies and dos values, respectively. All other columns are ignored. The dos-values are divided by two, to remove the double counting due to spin. If this is not desired set the spinDos flag to 1.

Summary formatting:

  • header: Non-numeric rows at the beginning of the document. If the header contains the unit (meV, eVm THz, Ry, Ha), it will be extraced automatically, otherwise set the unit via dos_unit. If the header contains only one numeric value this is interpreted as the fermi energy. If there are several numerical values, IsoME checks if a keyword (ef, efermi,...) indicating the fermi energy exists. If the extraction of the fermi energy fails either adapt your header or set the fermi energy via ef.
  • footer: Non-Numeric rows at the end of the document.
  • first column: energies
  • second column: dos values
NameTypeDefaultDescriptionComment
spinDosInt642Does the dos consider spin1 = spin not considered $\\$ 2 = spin considered
dos_unitString""Units in dos fileIs extracted from the header of the dos-file if not set $\\$ Currently supported: meV, eV, THz, Ry, Ha
nheader_dosInt64-1number of header lines in dos-fileAuto-recognition if unset
nfooter_dosInt64-1number of footer lines in dos-fileAuto-recognition if unset
Detailed description

dos_file :: STRING

Path to the dos-file Only required for vDOS calculations

spinDos :: INTEGER | Default: 1

Double count of dos due to spin

ValueDescription
1Spin is not considered in the dos
2Double count of dos due to spin

dos_unit :: STRING | Default: nothing

Energy unit in the dos file

ValueDescription
-1Auto-extraction from header
meV-
eV-
THz-
Ry-
Ha-

nheader_dos :: INTEGER | Default: nothing

Number of header lines in the dos file

ValueDescription
-1Auto-recognition

nfooter_dos :: INTEGER | Default: nothing

Number of footer lines in the dos file

ValueDescription
-1Auto-recognition

Weep

The Weep_file is required for W calculations. It is assumed that the third row contains the $W(\varepsilon,\varepsilon')$ values and the first and second columns the row and column numbering as energy values. The respective columns can be change via Weep_col and Wen_col. If the row/column numbering is given as consecutive numbering, an additional input file, called Wen_file, containing the $W$ energy grid points, can be handed over.

Summary formatting:

  • header: Non-numeric rows at the beginning of the document. If the header contains the unit (meV, eVm THz, Ry, Ha), it will be extraced automatically, otherwise set the unit via Weep_unit. If the header contains only one numeric value, it is interpreted as the fermi energy. If there are several numerical values, IsoME checks if a keyword (ef, efermi,...) indicating the fermi energy exists. If the extraction of the fermi energy fails either adapt your header or set the fermi energy via efW.
  • footer: Non-Numeric rows at the end of the document.
  • column: energy-grid points are assumed to be in the first and second column and the first column is used per default (Wen_col=1). The W-values are assumed to be in the third column per default (Weep_col=3).

If the Weep_file does not contain the energies an additional Wen_file can be specified.

  • header: Non-numeric rows at the beginning of the document. It is assumed that the header contains the unit. If not, the unit has to be specified via Wen_unit.
  • footer: Non-Numeric rows at the end of the document.
  • first column: energy grid points $\epsilon$ of $W(\epsilon, \epsilon')$. The column containing the energies can be changed via Wen_col.
NameTypeDefaultDescriptionComment
Weep_unitString""Unit of the WIs extracted from the header of the Weep-file if not set $\\$ Currently supported: meV, eV, THz, Ry, Ha
Wen_unitString""Unit of the W energiesIs extracted from the header of the Wen-file if not set $\\$ Currently supported: meV, eV, THz, Ry, Ha
Weep_colInt643Column of the W-data in the Weep-file
nheader_WeepInt64-1number of header lines in the Weep-fileAuto-recognition if unset
nfooter_WeepInt64-1number of footer lines in the Weep-fileAuto-recognition if unset
nheader_WenInt64-1number of header lines in the Wen-fileAuto-recognition if unset
nfooter_WenInt64-1number of footer lines in the Wen-fileAuto-recognition if unset
Detailed description

dos_file :: STRING

Path to the dos-file Only required for FBW calculations

colFermi_dos :: INTEGER | Default: 0

The fermi-energy has to be part of the header in the dos file. Specify the column it is in where per convetion 0 denotes the last column, 1 the second to last column and so on.

spinDos :: INTEGER | Default: 1

Specify if dos is multiplied by 2 due to spin.

ValueDescription
1Spin is not considered in the dos
2Double count of dos due to spin

dos_unit :: STRING | Default: nothing

Energy unit in the dos file

ValueDescription
nothingAuto-extraction from header
meV-
eV-

nheader_dos :: INTEGER | Default: nothing

Number of header lines in the dos file

ValueDescription
nothingAuto-recognition

nfooter_dos :: INTEGER | Default: nothing

Number of footer lines in the dos file

ValueDescription
nothingAuto-recognition

Version

Julia 1.10 or higher is required