elphbolt
(short for electron-phonon Boltzmann transport) is a modern Fortran (2018 standard) suite of transport codes. It provides a solver for both the coupled and decoupled electron and phonon Boltzmann transport equations (BTEs). You can read about the methodology and implementation here: https://www.nature.com/articles/s41524-022-00710-0. In addition, you get the superconda
app for solving the phonon-mediated superconducting properties within the Eliashberg formalism.
Using ab initio electron-phonon and 3- and 4-phonon interactions and a fully wave vector and electron band/phonon branch resolved formulation of the BTEs, the elphbolt
app gives you the
- phonon and electronic thermal conductivities;
- electronic conductivity;
- phonon and electronic contributions to the thermopower; and
- effect of the mutual electron-phonon drag on the transport coefficients listed above;
- effective thermoelectric transport coefficients for nanostructures (nanowires, nanoribbons, and thin-films).
Using ab initio electron-phonon and a fully wave vector and electron band/phonon branch resolved, Eliashberg formulation of superconductivity, the superconda
app gives you the
- anisotropic and isotropic Eliashberg spectral function and
- phonon-mediated superconducting transition temperature.
To date (May 7, 2024), elphbolt
/ superconda
has been used in the following works:
material(s) | physics probed | publication |
---|---|---|
MoS2, silicene, & AlN | electron drag enhancement of phonon thermal conductivity in 2D materials | https://doi.org/10.48550/arXiv.2405.02257 |
Ti2OX2 (X = F, Cl) MOene | thermoelectric performance | J. Appl. Phys. 135, 125106 |
Si, BAs, LiF, & GaN | new models of phonon-isotope interaction and temperature dependent 3+4ph limited thermal conductivity | Phys. Rev. B 109, 165201 |
Si nanowires | effect of nanostructuring on drag and thermoelectric figure of merit, ZT | Intl. J. Heat & Mass Trans. 225, 125385 |
GaN | 3+4 phonons and thin-film scattering limited thermal conductivity | Phys. Rev. B 108, 235313 |
GaN & AlN | drag | Phys. Rev. B 107, 245202 |
MgB2 | superconductivity enhancement | Phys. Rev. B 107, 184518 |
BAs | drag | Phys. Rev. B 107, L081202 |
Diamond | drag | Mat. Tod. Phys 27, 100740 |
Si | drag | npj Comp. Mat. 8, 28 |
Stylistically, elphbolt
is designed to be simple, small, fast, and extensible. It uses an object-based procedural style, which allows fast development, while resulting in a rather compact source (~ 10k lines of code, generated using David A. Wheeler’s SLOCCount
). The symmetries of the crystal are fully exploited and the transport active Fermi window is used to allow the sampling of extremely fine wave vector meshes needed for accurate solutions of the BTEs and Eliashberg equations. Parallelism is achieved through modern Fortran’s intrinsic coarrays
feature that is fully supported by recent versions of both the gcc
and intel
compilers.
elphbolt
currently works with the Quantum Espresso
(https://www.quantum-espresso.org/) suite and its core module EPW
(https://epw-code.org/) for the phonon quantities and the Wannier space information, respectively. An interface with all-electron exciting
(https://exciting-code.org/) code is currently under construction.
elphbolt
is a “free as in freedom” code distributed under the GNU General Public License (GPL) version 3. You can read more about the philosophy of software freedom here: https://www.gnu.org/philosophy/free-sw.en.html.
elphbolt
is for all of the transport physics community. Feel free to fork and contribute. Create a pull request to incorporate your changes to this project. Tailor it to your own liking/needs and please pay it forward in the spirit of free software and open science. Let me know of bugs, suggestions for improvement, feature requests, criticism, and praises. You may use the Discussions section of this repository for this purpose. There is also a discord server for informal discussions about theory, set up, usage, extensions, maintenance, possible collaborations, etc. You might find me hanging out there from time to time. I’d love to have a coffee with you and talk physics there in the office-hour voice channel.
The source is heavily commented and can be auto-documented with FORD
(https://github.com/cmacmackin/ford). For installation of FORD
, consult https://forddocs.readthedocs.io/en/latest/. To generate the documentation and the call graphs (you need graphviz
for the latter), say ford projectfile.md
. Then read ./documentation/index.html
with your browser.
You will need a recent version of gcc
that supports Fortran 2018 features. Here I show how you can build it with spack (https://spack.io/). I suggest building with nvptx
since that will allow you to use gpu acceleration later on. If you do not care for gpus at the moment, leave out the +nvptx
bit in the following command.
spack install gcc@12.3.0+nvptx
I like to add the <path to spack build of gcc>/bin
directory to my system $PATH
. Alternatively, you can follow spack’s own recommendations for using its packages.
You need an MPI implementation. It could be MPICH or OpenMPI. The first is preferred.
Follow the instructions here: https://fpm.fortran-lang.org/install/index.html#install to install fpm
. I, personally, like to build from source, as described here: https://fpm.fortran-lang.org/install/index.html#building-from-source.
OpenCoarrays
(http://www.opencoarrays.org) is an implementation of the coarrays
functionalities. Follow its installation guide to build it on your system. I personally like to use its install script where I pass my compiler and MPI relared flags explicitly. So something like the following should work
./install.sh --with-fortran <path to>/gfortran \
--with-cxx <path to>/g++ \
--with-c <path to>/gcc \
--with-mpi <path to mpich installation directory>
Carefully read the output on the screen and add the paths to caf
and cafrun
to your $PATH
.
For a cpu-only build and test with Fortran Package Manager (https://fpm.fortran-lang.org/), first say
sh install_blas+lapack.sh
This will build blas
and lapack
using a local copy of https://github.com/gha3mi/forblas and https://github.com/gha3mi/forlapack. You need to do this just once. The libraries will be placed in $HOME/.local/lib/
.
source fpm_config_caf.sh; fpm install
fpm test test_*
fpm test bte_regression --runner="sh test/3C-SiC/fpm_run_bte_caf.sh"
The elphbolt
and superconda
apps will be available in your $HOME/.local/bin
directory. They should both be directly callable from your shell. If not, add the above directory to our path.
Modify the fpm manifest file, fpm.toml
, to suit your system. I’d appreciate any feedback.
For a cpu+gpu build with OpenACC (https://www.openacc.org/), the only difference from the above is that you need to source a different file before the install:
source fpm_config_caf_openacc.sh; fpm install
Here I have assumed that you have already done blas
and lapack
building step. The testing commands are the same as before.
A full example for cubic silicon is provided. More examples will be added over time.
This is a transport code. And it comes after doing some DFT, DFPT, and Wannier calculations. Users of the popular ShengBTE
(https://bitbucket.org/sousaw/shengbte/src/master/) code will find that just one extra step (an EPW
calculation) on top of the ShengBTE
workflow is needed to obtain all the input files necessary for a coupled BTEs calculation with elphbolt
. You can, however, calculate just a decoupled phonon or electron BTE, or Eliashberg equations if you so choose. For these, only a subset of the input files will be needed. For example, if you want to calculate just a decoupled electron BTE or Eliashberg equations, then you do not need to provide the third order force constants. Similarly, if you are interested in just a phonon BTE without the phonon-electron interactions, then the Wannier parameters are not required.
Following is the full set of input files:
The input file - input.nml
- contains the information about the crystal and the various parameters of the calculation. A full description of all the input parameters is given in the next section. Also take a look at the input.nml
file for the cubic silicon example.
This comes out of the usual ph.x
and q2r.x
calculation from Quantum Espresso
. This file is needed to calculate phonon quantities and must be named espresso.ifc2
.
This code supports the thirdorder.py
, dense d3q
, and the sparse d3q
formats of the third order force constants file. For the d3q
interface, the sparse format is strongly recommended. Check out https://bitbucket.org/sousaw/thirdorder/src/master and https://anharmonic.github.io/d3q/ to learn more.
If you seek a solution of the decoupled phonon BTE or the coupled electron-phonon BTEs, at least one of these files, named FORCE_CONSTANTS_3RD
, mat3R
, or mat3R.sparse
for the three supported formats, respectively, must be provided.
These are the 4-phonon scattering rates out of the code FourPhonon
(https://github.com/FourPhonon/FourPhonon). You must pass these to elphbolt
if you want to include 4-phonon scattering in the calculation. To turn on the 4-phonon functionality, look up the keys fourph
and fourph_mesh_ref
in the Namelist numerics
below. Take special care when generating the 4-phonon scattering rates in the FourPhonon
code for use in elphbolt
. First off, you must choose the wave vector mesh in FourPhonon
such that it scales to the phonon wave vector mesh (qmesh
) of elphbolt
by a non-zero integer. Secondly, you must pass the irreducible 4-phonon scattering rates data file to elphbolt
as FourPhonon_BTE.w_4ph_T<temperature>
. For example, for a FourPhonon_BTE.w_4ph_T0.920E+03
. Additionally, you must prepend at the top of the file the total number of vectors in the irreducible Brillouin zone (IBZ) of the FourPhonon
calculation. Thirdly, you must provide the file FourPhonon_BTE.qpoint_full
. Prepend the total number of wave vectors in the full Brillouin zone (FBZ) of the FourPhonon
calculation. Internally, elphbolt
will interpolate the scattering rates calculated by FourPhonon
on a coarse, say qmesh
, say fourph_mesh_ref
value of ph.W_rta_4ph
, to compare against the coarse mesh ones from FourPhonon
. It is also good to remember that this is a rather crude way to approximate the effect of the 4-phonon scattering because of the (in general tri-)linear interpolation method used and the fact that the corresponding 4-phonon in-scattering correction is not accounted for in the iterative solver.
These are required if you want to solve a decoupled electron BTE, include phonon-electron interaction in the decoupled phonon BTE, Eliashberg equations for the phonon-mediated superconducting properties, or the coupled electron-phonon BTEs. You have the option of choosing between two external Wannier calculators.
These include the files rcells_k
, rcells_q
, rcells_g
, wsdeg_k
, wsdeg_q
, and wsdeg_g
which must be printed out of an EPW
calculation. We will also need the files epmatwp1
and epwdata.fmt
, both of which are outputted by EPW
after the Bloch -> Wannier calculation step. The first contains the Wannier space electron-phonon matrix elements and the second contains the Wannier space dynamical matrix and Hamiltonian. A couple of modified source files can be found in EPW/src/
directory which are needed to correctly print these quantities out during EPW
’s Bloch -> Wannier calculation step. The user must recompile their EPW
code following the replacement with these modified source codes. At this time, EPW v5.3.1
(shipped with Quantum Espresso v6.7MaX_Release
) must be used for this purpose.
Note that elphbolt
can only read the epwdata.fmt
file only if the EPW
calculation is performed with the flag lifc
set to .false.
. I thank Gui-Lin Zhu for pointing this out. In any case, I strongly recommend that the user generates the relevant quantites from elphbolt
along high-symmetry paths and compares directly against EPW
(see next section).
[I will list here the input files from exciting
soon.]
These are required if you want to plot the electronic bands, phonon dispersions, and the electron-phonon matrix elements along high symmetry paths in the Brillouin zone.
You need to provide a wave vector path file named highsympath.txt
(to be used as both the electron and phonon wave vectors) and an initial electron wave vector file named initialk.txt
if you want the electron bands, phonon dispersions, and electron-phonon matrix elements calculated along the path. The first line of highsympath.txt
must be an integer equaling the number of wave vectors in the path. This should be followed by the same number of rows of wave vectors expressed in crystal coordinates (fractions of the reciprocal lattice vectors). The initialk.txt
file must simply contain one wave vector in crystal coordinates.
If needed (see flag use_external_eps
below), the isotropic Eliashberg spectral function can be screened with a bespoke dielectric function. In this case, a file named eps_squared
must be placed into the run directory. This will contain a single column of data, giving the modulus-square of the dielectric function at each point in the equidistant phonon energy mesh (see flag domega
below).
For the elphbolt
app, there are 5 Namelists in the input.nml
file: allocations
, crystal_info
, electrons
, numerics
, and wannier
. For the superconda
app, there is an additional Namelist – superconductivity
. Users of the ShengBTE
code will find the format of this file familiar. Below the keys for each Namelist are described.
key | Type | Default | Description |
---|---|---|---|
numelements | Integer | 0 | Number of types of basis atoms. |
numatoms | Integer | 0 | Number of basis atoms. |
key | Type | Default | Description |
---|---|---|---|
name | String | “Crystal” | Name of material. |
elements | String array of size numelements | ‘X’ | Elements in the basis. |
atomtypes | Integer array of size numatoms | 0 | Integer tagging unique elements in the basis. |
masses | Real array of size numelements | -1.0 | Masses of the basis atoms in amu. If masses are not provided, set VCA or DIB to .True.. |
VCA | Logical | .False. | Use isotopic mix for basis atom masses? |
DIB | Logical | .False. | Use dominant isotope mass for basis atom masses |
lattvecs | 3 x 3 real array | 0.0 | Lattice vectors in Cartesian coordinates in units of nm. If twod is .True., the crystal must be positioned on the x-y plane and the third lattice vector must be of the form (0 0 layer thickness). |
basis | 3 x numatoms real array | 0.0 | Atomic basis vectors in crystal coordinates (i.e. fraction of lattvecs ). |
polar | Logical | .False. | Is the system polar? |
born | 3 x 3 x numatoms rank-3 real tensor | 0.0 | Born effective charge tensor (from phonon calculation). |
epsilon | 3 x 3 rank-2 real tensor | 0.0 | High-frequency dielectric tensor (from phonon calculation). |
read_epsiloninf | Real | .False. | Read high-frequency dielectric constant from input? |
epsiloninf | Real | 0.0 | High-frequency scalar dielectric constant. If read_epsiloninf is .True. (.False.), this is read from the input (set equal to the trace-average of epsilon ). Currently this quantity is not used in any calculation. |
epsilon0 | Real | 0.0 | Static scalar dielectric constant. Used for screening electron-charged impurity interaction, if included. Look up elchimp under the Namelist numerics . For the default value of epsilon0 , the electron-charged interaction blows up. |
T | Real | -1.0_dp | Crystal temperature in K. |
twod | Logical | .False. | Is the system (quasi)-2-dimensional? See description of lattvecs also. |
subs_masses | Real array of size numelements | 0.0 | Masses of substitution atoms in amu. This is needed if phsubs is .True. See table of keys for Namelist numerics . |
subs_conc | Real array of size numelements | 0.0 | Concentration of the substitutional atoms in cm-3 (or cm-2 if twod is .True.). This is needed if phsubs is .True. See table of keys for Namelist numerics . |
bound_length | Real | 1e12 mm | Characteristic sample length for boundary scattering. This is needed if phbound or elbound is .True. See table of keys for Namelist numerics . |
specfac | Real | 0.0 | Specularity factor for phonon-thin-film scattering |
key | Type | Default | Description |
---|---|---|---|
spindeg | Integer | 2 | Spin degeneracy of the bands. |
enref | Real | -999999.99999 | Electron referenc energy in eV. This is the center of the transport active window. Also see description for fsthick . See table of keys for Namelist ‘numerics’. |
chempot | Real | -999999.99999 | Chemical potential in eV. |
metallic | Logical | .False. | Is the system metallic? |
numbands | Integer | 0 | Total number of electronic Wannier bands. |
indlowband | Integer | 0 | Lowest transport band index. |
indhighband | Integer | 0 | Highest transport band index. |
indlowconduction | Integer | 0 | Lowest conduction band index. For metallic .False., this or indhighvalence must be provided. |
indhighvalence | Integer | 0 | Highest valence band index. For metallic .False., this or indlowconduction must be provided. |
dopingtype | Character | ‘x’ | Type of doping (‘n’ or ‘p’). This is needed for runlevel 0 only. See table of keys for Namelist ‘numerics’. |
scissor | Real | 0.0 | Scissor operator for conduction bands in eV. |
numconc | Integer | 100 | Number of carrier concentration points. This is needed for runlevel 0 only. See table of keys for Namelist ‘numerics’. |
conclist | Real array of size numconc | 0.0 | List carrier concentrations in cm-3 (or cm-2 if twod is .True.). This is needed for runlevel 0 only. See table of keys for Namelist ‘numerics’. |
numT | Integer | 100 | Number of temperature points. This is needed for runlevel 0 only. See table of keys for Namelist ‘numerics’. |
Tlist | Real array of size numT | 100 | List of temperatures in K. This is needed for runlevel 0 only. See table of keys for Namelist ‘numerics’. |
Zn | Real | 0.0 | Ionization number of donor impurities. This is needed only when elchimp is .True. and metallic is .False. See table of keys for Namelist ‘numerics’. |
Zp | Real | 0.0 | Ionization number of acceptor impurities. This is needed only when elchimp is .True. and metallic is .False. See table of keys for Namelist ‘numerics’. |
key | Type | Default | Description |
---|---|---|---|
qmesh | Integer array of size 3 | 1 1 1 | Phonon wave vector mesh (q). |
mesh_ref | Integer | 1 | Electron wave vector mesh (k) refinement factor with respect to the phonon mesh. |
fsthick | Real | 0.0 | Fermi surface thickness in eV. |
datadumpdir | String | ”./” | Runtime data dump directory. |
read_gq2 | Logical | .False. | Read electron-phonon (irreducible wedge q) vertices from disk? |
read_gk2 | Logical | .False. | Read electron-phonon (irreducible wedge k) vertices from disk? |
read_V | Logical | .False. | Read phonon-phonon (irreducible wedge q) vertices from disk? |
read_W | Logical | .False. | Read phonon-phonon (irreducible wedge q) transition probabilities from disk? |
W_OTF | Logical | .True. | Calculate phonon-phonon transition probabilities on-the-fly? This will prevent disk-dump. |
tetrahedra | Logical | .False. | Use the analytic tetrahedron method instead of the triangular method for 3d delta function evaluation? |
fourph | Logical | .False. | Include 4-ph scattering at the RTA level? |
fourph_mesh_ref | Integer | 1 | Mesh refinement factor of elphbolt ’s phonon wavectors with respect to external (FourPhonon code) 4-ph calculation. |
phe | Logical | .False. | Include phonon-electron interaction in phonon BTE? |
Y_OTF | Logical | .True. | Calculate phonon-electron transition probabilities on-the-fly? This will prevent disk-dump. |
phiso | Logical | .False. | Include phonon-isotope interaction in phonon BTE? |
phiso_1b_theory | String | ‘DIB-1B’ | Choose between ‘Tamura’ (1st Born on top of virtual crystal approximation) or ‘DIB-1B’ (1st Born on top of dominant isotope background). |
phsubs | Logical | .False. | Include phonon-substitution interaction in phonon BTE? If .True., look up subs_masses and subs_conc under the Namelist crystal_info . |
phbound | Logical | .False. | Include phonon-boundary interaction in phonon BTE? If .True., look up bound_length under the Namelist crystal_info . |
onlyphbte | Logical | .False. | Calculate phonon BTE without electron drag? |
elchimp | Logical | .False. | Include electron-charged impurity scattering in electron BTE? If .True., look up epsilon0 under Namelist crystal_info and Zn and Zp under Namelist electrons . |
elbound | Logical | .False. | Include electron-boundary interaction in electron BTE? If .True., look up bound_length under the Namelist crystal_info . |
onlyebte | Logical | .False. | Calculate electron BTE without phonon drag? |
drag | Logical | .True. | Include electron and phonon drag term in the phonon and electron BTE, respectively. |
maxiter | Intger | 50 | Maximum number of iteration steps for the BTE(s). |
conv_thres | Real | 1e-4 | Relative convergence threshold for the BTE(s). |
runlevel | Integer | 1 | Control for the type of calculation. 0: Calculate table of chemical potentials for a given doping type, temperature range, and carrier concentrations. Look up dopingtype , numconc , conclist , numT , and Tlist under Namelist electrons . 1: Transport calculation(s). 2: Post-processing results to calculate the spectral transport coefficients. 3: Superconductivity calculation, look up keys of the Namelist superconductivity . |
plot_along_path | Logical | .False. | Plot Wannier interpolated quantities along high symmetry wave vectors? |
ph_en_min | Real | 0.0 | Lower bound of equidistant phonon energy mesh in eV. Only needed for runlevel 2. |
ph_en_max | Real | 1.0 | Upper bound of equidistant phonon energy mesh in eV. Only needed for runlevel 2. |
ph_en_num | Integer | 100 | Number of equidistant phonon energy mesh points. Only needed for runlevel 2. |
el_en_min | Real | -10.0 | Lower bound of equidistant electron energy mesh in eV. Only needed for runlevel 2. |
el_en_max | Real | 10.0 | Upper bound of equidistant electron energy mesh in eV. Only needed for runlevel 2. |
el_en_num | Integer | 100 | Number of equidistant electron energy mesh points. Only needed for runlevel 2. |
ph_mfp_npts | Integer | 100 | Number of equidistant mean-free-path points for cumulative transport coefficients. |
ph_abs_q_npts | Integer | 100 | Number of equidistant absolute wave vector points for cumulative transport coefficients. |
use_Wannier_ifc2s | Logical | .False. | Use 2nd order force constants from the Wannierized data? |
solve_bulk | Logical | .True. | Do you want to solve the BTE for the bulk-system, i.e. not using nanostructures algorithm. |
solve_nano | Logical | .False. | Do you want to compute effective thermoelectric properties for highly symmetric nanostructure? See description of nano block. |
key | Type | Default | Description |
---|---|---|---|
coarse_qmesh | Integer array of size 3 | 0 0 0 | Coarse phonon wave vector mesh employed in the Wannier calculation. This must match the q-mesh in the Quantum Espresso second order force constants file. |
Wannier_engine_name | String | ‘epw’ | Choose external code (‘epw’ or ‘exciting’) for Wannierized quantities. |
key | Type | Default | Description |
---|---|---|---|
mustar | Real | 0.0 | Dimensionless Coulomb pseudopotential parameter. |
domega | Real | 0.0 eV | Equidistant phonon energy mesh spacing. |
matsubara_cutoff | Integer | 0 | Matsubara energy cutoff as a factor of the highest phonon energy. |
qp_cutoff | Integer | 0 | Quasiparticle energy cutoff as factor of the highest phonon energy. |
isotropic | Logical | .False. | Use the isotropic (fast!) version of the Eliashberg theory? |
use_external_eps | Logical | .False. | Use user generated modulus-squared dielectric function to screen the Eliashberg spectral function. For now, only works for the isotropic theory. |
Tstart | Real | 0.0 K | Starting point of the temperature sweep. |
Tend | Real | 0.0 K | End point of the temperature sweep. |
dT | Real | 0.0 K | Temperature difference used in temperature sweep. |
print_aniso_gap_FS | Logical | .False. | Print out the anisotropic gap function at the Fermi surface? |
key | Type | Default | Description |
---|---|---|---|
nsys | Integer | -1 | Number of nanostructures to tackle |
tag | Character(nsys) | ‘xx’ | Tags to choose the kind of nanostructures we are dealing with in each case (‘nw’: nanowire; ‘nr’: nanoribbon; ‘tf’: thin-film) |
limit | Real(nsys) | -1 | Limit length of the nanostructures in nm (radius for nw, width for nr, and thickness for tf) |
taxis | Real(nsys,3) | 0 0 0 | Direction in which transport will be computed (for tf and nr it must be perpendicular to the normal vector) |
naxis | Real(nsys,3) | 0 0 0 | Vector defining the normal of the system for tf and nr (only fill for those cases) |
The code produces a large amount of data. Here, we provide a description of the various types output files.
Below I(F)BZ = irreducible (full) Brillouin zone; RTA = relaxation time approximation; ch. imp. = charged impurities; bound = boundary; subs = substitution; numbands
= number of electron bands; and numbranches
= number of phonon branches.
File name | Directory | Units | Description |
---|---|---|---|
*.reclattvecs | ./ | nm1 | Reciprocal lattice vectors. |
el.fbz2ibz_map | ./ | none | FBZ to IBZ mappings. |
el(ph).dos | ./ | eV-1 | Band resolved electronic (phononic) density of states. numbands (numbranches ) columns of reals. |
el(ph).ens_i(f)bz | ./ | eV | I(F)BZ electronic (phononic) band energies. numbands (numbranches ) columns of reals. |
el.inwindow_states_ibz | ./ | none | IBZ electronic states (wave vector index, band index) within the transport active window. 2 columns of integers. |
el(ph).vels_i(f)bz | ./ | Kms-1 | I(F)BZ electronic (phononic) band (branch) velocities. In each row, there are 3 (Cartesian direction) sets of numbands (numbranches ) numbers. |
el(ph).wavevecs_i(f)bz | ./ | crystal | I(F)BZ electronic (phononic) wave vectors. For the electrons, these are only within the transport window. |
el.ens_kpath | ./ | eV | Electron energies along the given k-path. |
ph.ens_qpath | ./ | eV | Phonon energies along the given q-path. |
gk2.istate* | datadumpdir/g2/ | eV2 | Squared e-ph (1-phonon) vertices for every IBZ electron state. Binary. |
gq2.istate* | datadumpdir/g2/ | eV2 | Squared e-ph (1-phonon) vertices for every IBZ electron state. Binary. |
Vm2.istate* | datadumpdir/V2/ | eV2Å-6amu-3 | Squared ph-ph (3-phonon) vertices for every IBZ phonon state. Binary. |
el.W_rta_elbound | ./ | THz | IBZ RTA el-bound scattering rates. numbands columns of reals. |
ph.W_rta_phiso(bound)[subs] | ./ | THz | IBZ RTA ph-iso (bound) [subs] scattering rates. numbranches columns of reals. |
gk_qpath | ./ | eV | Absolute value of the e-ph matrix elements (averaged over the degenerate bands and branches) for the given k-vector and q-path. |
a2F.istate* | datadumpdir/sc/ | none | Anisotropic Eliashberg spectral function for every IBZ state. Binary. |
omegas | ./ | eV | Equidistant phonon energy mesh. |
a2F_iso | ./ | none | Isotropic Eliashberg spectral function on the equidistant phonon energy mesh. |
a2F_iso_branch_resolved | ./ | none | Phonon branch resolved isotropic Eliashberg spectral function on the equidistant phonon energy mesh. |
cum_lambda_iso_branch_resolved | ./ | none | Phonon branch resolved standard, isotropic electron-phonon coupling parameter on the equidistant phonon energy mesh. |
quasiparticle_ens | ./ | eV | Equidistant electronic quasiparticle energy mesh. |
File name | Directory | Units | Description |
---|---|---|---|
Xchimp.istate* | datadumpdir/mu*/X/ | THz | Transition probability for e-ch. imp. processes for every IBZ electron state. Binary. |
Xminus[plus].istate* | datadumpdir/mu*/X/ | THz | Transition probability for e-ph (1-phonon) minus [plus] processes for every IBZ electron state. Binary. |
Y.istate* | datadumpdir/mu*/Y/ | THz | Transition probability for ph-e (1-phonon) processes for every IBZ phonon state. Binary. |
Wm[p].istate* | datadumpdir/T*/W/ | THz | Transition probability for ph-ph (3-phonon) minus [plus] processes for every IBZ phonon state. Binary. |
el.W_rta_eph[chimp] | ./T*/ | THz | IBZ RTA el-ph [ch. imp.] scattering rates. numbands columns of reals. Identically zero for bands outside the transport window. |
ph.W_rta_3ph(4ph)[phe] | ./T*/ | THz | IBZ RTA 3ph (4ph) [ph-e] scattering rates. numbranches columns of reals. |
drag[nodrag]_el_sigma_* | ./T*/ | Ω-1m-1 | Band resolved (_<integer> ) and total (_tot ) charge conductivity tensor at every iteration step. |
drag[nodrag]_el_alphabyT_* | ./T*/ | Am-1K-1 | Band resolved (_<integer> ) and total (_tot ) electronic Peltier(-ish) coefficient tensor at every iteration step. |
drag[nodrag]_el_kappa0_* | ./T*/ | Wm-1K-1 | Band resolved (_<integer> ) and total (_tot ) electronic thermal conductivity (zero E-field) tensor at every iteration step. |
drag[nodrag]_el_sigmaS_* | ./T*/ | Am-1K-1 | Band resolved (_<integer> ) and total (_tot ) electronic thermopower times conductivity tensor at every iteration step. |
drag_ph_alphabyT_* | ./T*/ | Am-1K-1 | Branch resolved (_<integer> ) and total (_tot ) phonon Peltier(-ish) coefficient tensor at every iteration step. |
drag[nodrag]_ph_kappa_* | ./T*/ | Wm-1K-1 | Branch resolved (_<integer> ) and total (_tot ) phonon thermal conductivity tensor at every iteration step. |
RTA{nodrag}(partdcpl)[drag]_I0_* | ./T*/ | nmeVK-1 | Band resolved (_<integer> ) and total (_tot ) electronic response function to ∇ T-field in the RTA {dragless} (partially decoupled) [drag] theory. |
RTA{nodrag}(partdcpl)[drag]_J0_* | ./T*/ | nmC | Band resolved (_<integer> ) and total (_tot ) electronic response function to E-field in the RTA {dragless} (partially decoupled) [drag] theory. |
RTA{nodrag}[drag]_F0_* | ./T*/ | nmeVK-1 | Branch resolved (_<integer> ) and total (_tot ) phononic response function to ∇ T-field in the RTA {dragless} [fully coupled] theory. |
drag_G0_* | ./T*/ | nmC | Branch resolved (_<integer> ) and total (_tot ) phononic response function to E-field in fully coupled theory. |
iso_quasiparticle_DOS.T* | ./ | none | Scaled quasiparticle density of states on the equidistant electronic quasiparticle energy mesh. |
iso_quasiparticle_Delta.T* | ./ | eV | Isotropic superconducting gap on the equidistant electronic quasiparticle energy mesh. |
aniso_quasiparticle_Delta_FS.T | ./ | eV | Anisotropic superconducting gap on the Fermi surface for each IBZ electronic state within the Fermi window. The first column gives the number of FBZ images of the IBZ point. |
File name | Directory | Units | Description |
---|---|---|---|
nano_info | ./ | -/nm/-/-/-/-/-/- | Nanostructure information tag(i)/limit(i)/taxis(i,:)/naxis(i,:) |
Sph | ./ | eV/Kms-1/Kms-1/Kms-1/- | Nanostructure suppression factor for phonons in FBZ energy(i,ib)/vg(i,ib,:)/Sph(i,ib,:) |
Sel | ./ | eV/Kms-1/Kms-1/Kms-1/- | Nanostructure suppression factor for electrons in FBZ energy(i,ib)/vg(i,ib,:)/Sel(i,ib,:) |
nano_drag[nodrag]_el_sigma_* | ./T*/ | Ω-1m-1 | Band resolved (_<integer> ) and total (_tot ) charge conductivity tensor at every iteration step. |
nano_drag[nodrag]_el_alphabyT_* | ./T*/ | Am-1K-1 | Band resolved (_<integer> ) and total (_tot ) electronic Peltier(-ish) coefficient tensor at every iteration step. |
nano_drag[nodrag]_el_kappa0_* | ./T*/ | Wm-1K-1 | Band resolved (_<integer> ) and total (_tot ) electronic thermal conductivity (zero E-field) tensor at every iteration step. |
nano_drag[nodrag]_el_sigmaS_* | ./T*/ | Am-1K-1 | Band resolved (_<integer> ) and total (_tot ) electronic thermopower times conductivity tensor at every iteration step. |
nano_drag_ph_alphabyT_* | ./T*/ | Am-1K-1 | Branch resolved (_<integer> ) and total (_tot ) phonon Peltier(-ish) coefficient tensor at every iteration step. |
nano_drag[nodrag]_ph_kappa_* | ./T*/ | Wm-1K-1 | Branch resolved (_<integer> ) and total (_tot ) phonon thermal conductivity tensor at every iteration step. |
nano_RTA{nodrag}(partdcpl)[drag]_I0_* | ./T*/ | nmeVK-1 | Band resolved (_<integer> ) and total (_tot ) electronic response function to ∇ T-field in the RTA {dragless} (partially decoupled) [drag] theory. |
nano_RTA{nodrag}(partdcpl)[drag]_J0_* | ./T*/ | nmC | Band resolved (_<integer> ) and total (_tot ) electronic response function to E-field in the RTA {dragless} (partially decoupled) [drag] theory. |
nano_RTA{nodrag}[drag]_F0_* | ./T*/ | nmeVK-1 | Branch resolved (_<integer> ) and total (_tot ) phononic response function to ∇ T-field in the RTA {dragless} [fully coupled] theory. |
nano_drag_G0_* | ./T*/ | nmC | Branch resolved (_<integer> ) and total (_tot ) phononic response function to E-field in fully coupled theory. |
Note: For the temperature dependent quantites each columnn refers to the respective nanostructure from input.
File name | Directory | Units | Description |
---|---|---|---|
RTA{nodrag}(partdcpl)[drag]_{([iterated_el])}_sigma_spectral_* | ./T*/ | Ω-1m-1eV-1 | Band resolved (_<integer> ) and total (_tot ) spectral charge conductivity tensor in the RTA {([iterated])} {dragless} (partially decoupled) [drag] theory. |
RTA{nodrag}(partdcpl)[drag]_{([iterated_el])}_alphabyT_spectral_* | ./T*/ | Am-1K-1eV-1 | Band resolved (_<integer> ) and total (_tot ) spectral electronic Peltier(-ish) coefficient tensor in the RTA {([iterated])} {dragless} (partially decoupled) [drag] theory. |
RTA{nodrag}(partdcpl)[drag]_{([iterated_el])}_kappa0_spectral_* | ./T*/ | Wm-1K-1eV-1 | Band resolved (_<integer> ) and total (_tot ) spectral electronic thermal conductivity (zero E-field) tensor in the RTA {([iterated])} {dragless} (partially decoupled) [drag] theory. |
RTA{nodrag}(partdcpl)[drag]_{([iterated_el])}_sigmaS_spectral_* | ./T*/ | Am-1K-1eV-1 | Band resolved (_<integer> ) and total (_tot ) spectral electronic thermopower times conductivity tensor in the RTA {([iterated])} {dragless} (partially decoupled) [drag] theory. |
drag_iterated_ph_alphabyT_spectral_* | ./T*/ | Am-1K-1eV-1 | Branch resolved (_<integer> ) and total (_tot ) spectral phonon Peltier(-ish) coefficient tensor in the iterated drag theory. |
RTA{nodrag}[drag]_{[iterated_ph]}_kappa_spectral_* | ./T*/ | Wm-1K-1eV-1 | Branch resolved (_<integer> ) and total (_tot ) spectral phonon thermal conductivity tensor in the RTA {[iterated]} {dragless} [drag] theory. |
el[ph].en_grid | ./ | eV | Uniform electron [phonon] energy mesh for spectral coefficient calculation. |