## Inputs

## Structure of the input data

title_line

...

nqs {cartesian} xq(1) xq(2) xq(3) wq

Note: the k/q-points of the fine grids have to be provided in crystal coordinate only.

## &inputepw

**B** band_plot, bnd_cum, broyden_beta, broyden_ndim

**C** conv_thr_iaxis, conv_thr_racon, conv_thr_raxis, cumulant

**D** degaussq, degaussw, delta_approx, delta_qsmear, delta_smear, dvscf_dir

**E** efermi_read, eig_read, elecselfen, eliashberg, elph, ep_coupling, epbwrite, epexst, ephwrite, eps_acustic, epsiHEG, eptemp, epwread, epwwrite, etf_mem

**F** fermi_diff, fermi_energy, fila2f, fildvscf, filkf, filqf, filukk, filukq, fsthick

**G** gap_edge

**L** lacon, laniso, lifc, limag, liso, longrange, lpade, lpolar, lreal, lscreen, lunif

**M** max_memlt, meff, mp_mesh_k, mp_mesh_q, muc

**N** nbndskip, nbndsub, nel, nest_fn, ngaussw, nk1,nkf1,nq1,nqf1, nqsmear, nqstep, nsiter, nsmear, nstemp, nswi, nswc, nswfc, nw, nw_specfun

**P** parallel_k, parallel_q, phonselfen, plselfen, prefix, prtgkk, pwc

**R** rand_nq, rand_q, restart, restart_freq

**S** scr_typ, smear_rpa, specfun_el, specfun_ph, specfun_pl, system_2d, shortrange

**T** tempsmax, tempsmin, temps, time_max

**V** vme

**W** wannierize, wepexst, wmax, wmax_specfun, wmin, wmin_specfun, wscut,wsfc

## /

If wannierize == .true. the following input variable apply

dis_froz_min, dis_win_min, iprint, num_iter, proj, wdata, write_wfn

Variable: a2fType: LOGICALDefault: .false.Description: Calculate Eliashberg spectral function, a^2F(omega), transport Eliashberg spectral function a^F_tr(omega, and phonon density of states F(omega). Only allowed in the case of phonselfen = .true.

Variable: amass(i), i=1,ntypType: REALDefault: 0.0Description: Atomic mass [amu] of each atomic type. If not specified, masses are read from data file.

Variable: asr_typType: CHARACTERDefault: 'simple'Description: Kind of acoustic sum rule that can be imposed in real space. Possible ASR are 'simple', 'crystal', 'one-dim' and 'zero-dim'.

Variable: band_plotType: LOGICALDefault: .false.Description: Writes files for band structure and phonon dispersion plots. The k-path and q-path is provided using filkf and filqf .

Variable: bnd_cumType: INTEGERDefault: 1Description: Band index for which the cumulant calculation is done. For more than one band, you need to perform multiple calculation and add the results together.

Variable: broyden_betaType: REALDefault: 0.7Description: Mixing factor for Broyden mixing scheme.

Variable: broyden_ndimType: INTEGERDefault: 8Description: Number of iterations used in the Broyden mixing scheme.

Variable: conv_thr_iaxisType: REALDefault: 1.d-05Description: Convergence threshold for iterative solution of imaginary-axis Eliashberg equations.

Variable: conv_thr_raconType: REALDefault: 5.d-05Description: Convergence threshold for iterative solution of the analytic continuation of Eliashberg equations from imaginary- to real-axis.

Variable: conv_thr_raxisType: REALDefault: 5.d-04Description: Convergence threshold for iterative solution of real-axis Eliashberg equations.

Variable: cumulantType: LOGICALDefault: .FALSE.Description: if .true. calculates the electron spectral function using the cumulant expansion method. Can be used as independent postprocessing by setting ep_coupling ==.false.

Variable: degaussqType: REALDefault: 0.05Description: Smearing for sum over q in the e-ph coupling in [meV]

Variable: degausswType: REALDefault: 0.025Description: Smearing in the energy-conserving delta functions in [eV]

Variable: delta_approxType: LOGICALDefault: .false.Description: If .true. the double delta approximation is used to compute the phonon self-energy.

Variable: delta_qsmearType: REALDefault: 0.05Description: Change in the energy for each additional smearing in the a2f in [meV].

Variable: delta_smearType: REALDefault: 0.01Description: Change in the energy for each additional smearing in the phonon self-energy in [eV]

Variable: dvscf_dirType: CHARACTERDefault: './'Description: Directory where 'prefix.[dvscf|dyn]_q??' files are located.

Variable: efermi_readType: LOGICALDefault: .false.Description: If .true. the Fermi energy is read from the input file.

Variables: eig_readType: LOGICALDefault: .false.Description: If .true. then read a set of eigenvalues from ksdata.fmt Can be used to read GW (or other) eigenenergies. The code expect a file called "prefix.eig" to be read. One need to provide the same number of bands as in the nscf calculations and all k-points.

Variables: elecselfenType: LOGICALDefault: .false.Description: Calculate the electron self-energy from the el-ph interaction

Variable: eliashbergType: LOGICALDefault: .false.Description: If .true. solve the Eliashberg equations and/or calculate the Eliashberg spectral function. 1) if laniso=.true., the anisotropic Eliashberg equations are solved. This requires that .ephmat, .freq, .egnv, .ikmap files are read from the disk. The files are written when ephwrite=.true. in the input file (see ephwrite variable). 2) if liso=.true., the isotropic Eliashberg equations are solved. This requires that either (a) .ephmat, .freq, .egnv, .ikmap files (see ephwrite variable) or (b) isotropic Eliashberg spectral function file (see fila2f variable) are read from the disk. 3) .not.laniso and .not.liso, the Eliashberg spectral function is calculated. This requires that .ephmat, .freq, .egnv, .ikmap files are read from the disk. The files are written when ephwrite=.true. in the input file (see ephwrite variable). Note: To reuse .ephmat, .freq, .egnv, .ikmap files obtained in a previous run, one needs to set ep_coupling=.false., elph=.false., and ephwrite=.false. in the input file.

Variable: elphType: LOGICALDefault: .false.Description: If .true. calculate e-ph coefficients.

Variable: ep_couplingType: LOGICALDefault: .true.Description: If .true. run e-ph coupling calculation.

Variables: epbwrite, epbreadType: LOGICALDefault: .false.Description: If epbwrite = .true., the electron-phonon matrix elements in the coarse Bloch representation and relevant data (dyn matrices) are written to disk. If epbread = .true. the above quantities are read from the 'prefix.epb' files. Pool dependent files.

Variable: epexstType: LOGICALDefault: .false.Description: If .true. then prefix.epmatwp files are already on disk (don't recalculate). This is a debugging parameter.

Variable: ephwriteType: LOGICALDefault: .false.Description: Writes 4 files that are required when solving the Eliashberg equations. .ephmat files with e-ph matrix elements within the Fermi window (fsthick) on fine k and q meshes on the disk. .ephmat are pool dependent files. .freq file contains the phonon frequencies; .egnv file contains the eigenvalues within the Fermi window, and .ikmap file contains the index of the k-point on the irreducible grid within the Fermi window. These files are required to solve the Eliashberg equations when eliashberg= .true.. The files can be reused for subsequent evaluations of the Eliashberg equations at different temperatures. ephwrite doesn't work with random k- or q-meshes and requires nkf1,nkf2,nkf3 to be multiple of nqf1,nqf2,nqf3.

Variables: eps_acusticType: REALDefault: 5.d0Description: The lower boundary for the phonon frequency in el-ph and a2f calculations in [cm-1].

Variables: epsiHEGType: REALDefault: 0.25d0Description: Dielectric constant at zero doping for electron-plasmon.

Variables: eptemp(:)Type: REALDefault: 300.d0Description: Array of smearing occupations for the Fermi occupation in [K].

Variables: epwreadType: LOGICALDefault: .false.Description: If epwread = .true., the electron-phonon matrix elements in the coarse Wannier representation are read from the 'epwdata.fmt' and 'XX.epmatwpX' files. Each pool reads the same file. It is used for a restart calculation and requires kmaps = .true. A prior calculation with epwwrite = .true is also required.

Variables: epwwriteType: LOGICALDefault: .true.Description: If epwwrite = .true., the electron-phonon matrix elements in the coarse Wannier representation and relevant data (dyn matrices) are written to disk. Each pool reads the same file.

Variable: etf_memType: INTEGERDefault: 1Description: If etf_mem == 0, then all the fine Bloch-space el-ph matrix elements are store in memory (faster). When etf_mem == 1, more IO (slower) but less memory is required. When etf_mem == 2, an additional loop is done on mode for the fine grid interpolation part. This reduces the memory further by a factor "nmodes".

Variable: fermi_diffType: REALDefault: 1.d0Description: Difference between Fermi energy and band edge (in eV). Only relevant when lscreen == .true.

Variable: fermi_energyType: REALDefault: 0.d0Description: Value of the Fermi energy read from the input file in [eV].

Variable: fila2fType: CHARACTERDefault: ''Description: Input file with isotropic Eliashberg spectral function. This file can only be used to calculate the isotropic Eliashberg equations. In this case *.ephmat, *.freq, *.egnv, and *.ikmap files are not required.

Variable: fildvscfType: CHARACTERDefault: ''Description: Output file containing deltavscf (not used in calculation)

Variable: filkfType: CHARACTERDefault: './'Description: File which contains the fine k-mesh or the k-path of electronic states to be calculated for elinterp. Crystal coordinates.

Variable: filqfType: CHARACTERDefault: './'Description: File which contains the fine q-mesh or the q-path of phonon states to be calculated for phinterp. Crystal coordinates.

Variable: filukkType: CHARACTERDefault: 'prefix.ukk'Description: The name of the file containing the rotation matrix U(k) which describes the MLWFS.

Variable: filukqType: CHARACTERDefault: 'prefix.ukq'Description: The name of the file containing the rotation matrix U(k+q) which describes the MLWFS.

Variable: fsthickType: REALDefault: 1.d10Description: Width of the Fermi surface window to take into account states in the self-energy delta functions in [eV]. Narrowing this value reduces the number of bands included in the selfenergy calculations.

Variable: gap_edgeType: REALDefault: 0.d0Description: Initial guess for the superconducting gap edge if gap_edge .gt. 0.d0 in [eV]. Otherwise the initial guess for the gap is estimated based on the critical temperature found from the Allen-Dynes formula and BCS ratio (2*gap/T_c=3.52)

Variable: imag_readType: LOGICALDefault: .false.Description: If .true. read from file the superdconducting gap and renormalization function on the imaginary-axis at a temperature XX. The required file is 'prefix.imag_aniso_XX'. The temperature should be specified as tempsmin=XX or temps(1)=XX in the input file. This flag works if limag=.true. and laniso=.true., and can be used to: (1) solve the Eliashberg equations on the real-axis with lpade=.true. or lacon=.true. starting from the imaginary-axis solutions at temperature XX; (2) solve the Eliashberg equations on the imaginary-axis at temperatures grater than XX using as a starting point the gap estimated at temperature XX. (3) write to file the superconducting gap on the Fermi surface in cube format at temperature XX. The output file is 'prefix.imag_aniso_gap_XX_YY.cube', where YY is the band number within the chosen energy window during the EPW calculation. The file is written if iverbosity=2.

Variable: iverbosityType: INTEGERDefault: 0Description: 0 = short output 1 = verbose output. 2 = verbose output for the superconducting part only. 3 = verbose output for the electron-phonon part only [mode resolved linewidths etc..].

Variable: kerreadType: LOGICALDefault: .false.Description: If .true. read Kp and Km kernels from files .ker when solving the real-axis Eliashberg equations.

Variable: kerwriteType: LOGICALDefault: .false.Description: If .true. write Kp and Km kernels to files .ker when solving the real-axis Eliashberg equations.

Variable: kmapsType: LOGICALDefault: .false.Description: If .true., program reads 'prefix.kmap' and 'prefix.kgmap' from file. If .false., they are calculated

Variable: laconType: LOGICALDefault: .false.Description: If .true. an analytic continuation to continue the imaginary-axis Eliashberg equations to real-axis. This flag requires limag=.true. and lpade=.true.

Variable: lanisoType: LOGICALDefault: .false.Description: If .true. solve the anisotropic Eliashberg equations on the imaginary-axis. To solve the equations, *.ephmat, *.freq, *.egnv, and *.ikmap files should be provided. These files are described under ephwrite variable.

Variable: lifcType: LOGICALDefault: .false.Description: If .true. uses the real-space inter-atomic force constant generated by q2r.x. The resulting file must be named "ifc.q2r". The file has to be placed in the same directory as the dvscf files. In the case of SOC, the file must be named "ifc.q2r.xml" and be in xml format. See asr_typ for the type of acoustic sum rules that can be imposed.

Variable: limagType: LOGICALDefault: .false.Description: If .true. solve the imaginary-axis Eliashberg equations.

Variable: lisoType: LOGICALDefault: .false.Description: If .true. solve the isotropic Eliashberg equations on the real- or imaginary-axis. To solve the equations provide either: (1) Eliashberg spectral function file using fila2f variable. (2) *.ephmat, *.freq, *.egnv, and *.ikmap files. These files are described under ephwrite variable.

Variable: lpadeType: LOGICALDefault: .false.Description: If .true. Pade approximants to continue the imaginary-axis Eliashberg equations to real-axis. This works with limag=.true.

Variable: lpolarType: LOGICALDefault: .false.Description: If .true. enable the correct Wannier interpolation in the case of polar material.

Variable: lrealType: LOGICALDefault: .false.Description: If .true. solve the Eliashberg equations directly on the real-axis. Only the isotropic case (liso=.true.) is implemented.

Variable: lscreenType: LOGICALDefault: .false.Description: If .true. the el-ph matrix elements are screened by the RPA or TF dielectric function. See (scr_typ).

Variable: lunifType: LOGICALDefault: .true.Description: If .true. a uniform frequency grid is defined between (wsfc,wscut) for solving the real-axis Eliashberg equations. Works only with lreal=.true.

Variable: longrangeType: LOGICALDefault: .false.Description: If .true. only the long-range part of the electron-phonon matrix elements are calculated. Works only with lpolar=.true.

Variable: max_memltType: REALDefault: 2.85d0Description: Maximum memory that can be allocated per pool in [Gb].

Variable: meffType: REALDefault: 12.0Description: Density of state effective mass for electron-plasmon.

Variable: mp_mesh_kType: logicalDefault: .false.Description: If .true., fine electronic mesh is in the irr. wedge, else a uniform grid throughout the BZ is used. Currently in use only when ephwrite=.true..

Variable: mp_mesh_qType: logicalDefault: .false.Description: If .true., fine phonon mesh is in the irr. wedge, else a uniform grid throughout the BZ is used. Not currently in use.

Variable: nbndskipType: INTEGERDefault: 0Description: The number of bands lying below the disentanglement window in the calculation of the Wannier functions. This quantity is necessary to correctly determine the Fermi energy.

Variable: nbndsubType: INTEGERDefault: 0Description: Number of wannier functions to utilize.

Variable: nelType: REALDefault: 0.01Description: Carrier concentration for electron-plasmon.

Variable: nest_fnType: LOGICALDefault: .false.Description: Calculate the electronic nesting function.

Variable: ngausswType: INTEGERDefault: 1Description: Smearing type for FS average after Wannier interpolation

Variables: nk1, nk2, nk3Type: INTEGERDefault: 0Description: Dimensions of the coarse electronic grid, corresponds to the nscf calculation and wfs in the outdir.

Variables: nkf1, nkf2, nqf3Type: INTEGERDefault: 0Description: Dimensions of the fine electron grid, if filkf is not given.

Variables: nq1, nq2, nq3Type: INTEGERDefault: 0Description: Dimensions of the coarse phonon grid, corresponds to the nqs list.

Variables: nqf1, nqf2, nqf3Type: INTEGERDefault: 0Description: Dimensions of the fine phonon grid, if filqf is not given.

Variable: nqsmearType: INTEGERDefault: 10Description: Number of different smearings used to calculate the a2f.

Variable: nqstepType: REALDefault: 500Description: Number of steps used to calculate the a2f

Variable: nsiterType: INTEGERDefault: 40Description: Number of iteration for the self-consistency cycle when solving the real- or imaginary-axis Eliashberg equations.

Variable: nsmearType: INTEGERDefault: 1Description: Number of different smearings used to calculate the phonon self-energy.

Variable: nstempType: INTEGERDefault: 1Description: Number of temperature points or which the Eliashberg equations are solved. If nstemp=1, the equations are solved at tempsmin. If nstemp>1, the step between points is (tempsmax - tempsmin ) / (nstemp-1). nstemp is ignored if temps(:) is specified instead of tempsmin and tempsmax

Variable: nswiType: INTEGERDefault: 0Description: Number of frequency grid points when solving the imaginary-axis Eliashberg equations. If nswi > 0, wscut is ignored. Works only with limag=.true.

Variable: nswcType: INTEGERDefault: 0Description: Number of frequency grid points between (wsfc,wscut) when solving the real-axis Eliashberg equations. Works only with lreal=.true.

Variable: nswfcType: INTEGERDefault: 0Description: Number of frequency grid points between (0,wsfc) when solving the real-axis Eliashberg equations. Works only with lreal=.true.

Variable: mucType: REALDefault: 0.d0Description: Effective Coulomb potential used in the Eliashberg equations.

Variable: nwType: INTEGERDefault: 10Description: Number of bins for frequency scan in \delta( e_k - e_k+q - w).

Variable: nw_specfunType: INTEGERDefault: 100Description: Number of bins for frequency in electron spectral function.

Variable: outdirType: CHARACTERDefault: './'Description: Scratch directory.

Variable: parallel_kType: logicalDefault: .true.Description: Parallization over k-points of the fine mesh or ''' read from filkf file.

Variable: parallel_qType: logicalDefault: .false.Description: Parallization over q-points of the fine mesh or read from filqf file.

Variable: phonselfenType: LOGICALDefault: .false.Description: Calculate the phonon self-energy from the el-ph interaction.

Variable: plselfenType: LOGICALDefault: .false.Description: Calculate the electron-plasmon self-energy (model). It requires the definition of nel, meff and epsiHEG.

Variable: prefixType: CHARACTERDefault: 'pwscf'Description: Prepended to input/output filenames. Must be the same used in the calculation of the wfs and phonons.

Variable: prtgkkType: LOGICALDefault: .false.Description: Allows to print the electron-phonon vertex |g| (in meV) for each q-point, k-point, i-band, j-band and modes. Note: Average over degenerate i-band, j-band and modes is performed but not on degenerate k or q-points. Warning: this produces huge text data in the main output file and considerably slows down the calculation. Suggestion: Use only 1 k-point (like Gamma).

Variable: pwcType: REALDefault: 1.0Description: Power used to define a non-uniform grid between (wsfc,wscut) when solving the real-axis Eliashberg equations. Works only if lreal=.true.

Variables: rand_nq, rand_nkType: integerDefault: 1Description: number of random q,k-vectors on the fine mesh

Variables: rand_q, rand_kType: logicalDefault: falseDescription: q/k-vectors on the fine mesh are generated randomly

Variables: restartType: logicalDefault: falseDescription: Create a restart point every restart_freq q-points from the fine grid during the interpolation stage.

Variables: restart_freqType: integerDefault: 100Description: Frequency of restart points during the fine q-grid interpolation phase. This produces restart files called XXX.sigma_restart1

Variable: scr_typType: INTEGERDefault: 0Description: If 0 calculates the Lindhard screening, if 1 the Thomas-Fermi screening Only relevant if lscreen == .true.

Variable: smear_rpaType: REALDefault: 0.05d0Description: Smearing for the calculation of the Lindhard function (in eV). Only relevant if lscreen == .true.

Variable: specfun_elType: LOGICALDefault: .false.Description: Calculate the electron spectral function from the e-ph interaction. The relevant variables in this case are wmin_specfun, wmax_specfun and nw_specfun.

Variable: specfun_phType: LOGICALDefault: .false.Description: Calculate the phonon spectral function from the e-ph interaction. Note that it only works with parallel_k == .true. The relevant variables in this case are wmin_specfun, wmax_specfun and nw_specfun.

Variable: specfun_plType: LOGICALDefault: .false.Description: Calculate electron-plasmon spectral function. Note that it only works with parallel_k == .true. The relevant variables in this case are wmin_specfun, wmax_specfun and nw_specfun. See also nel, meff, epsiHEG.

Variable: system_2dType: LOGICALDefault: .false.Description: If .true. the system is two-dimensional (vaccum is in z-direction) and the k and q meshes are defined in the xy-plane.

Variable: tempsmaxType: REALDefault: 0.d0Description: Maximum temperature for which the Eliashberg equations are solved. tempsmax should be grater than tempsmin.

Variable: tempsminType: REALDefault: 0.d0Description: Minimum temperature for which the Eliashberg equations are solved. tempsmin should be smaller than tempsmax.

Variable: temps(:)Type: REALDefault: 0.d0Description: Specific temperature values temps(1), temps(2), .... for which the Eliashberg equations are solved. It only works if tempsmin and tempsmax are not provided.

Variables: time_maxType: REALDefault: 1.d+7Description: Maximum CPU time for this run [s].

Variable: vmeType: LOGICALDefault: .false.Description: If .true. then calculate the velocity matrix elements. !! Currently not working !!

Variable: wannierizeType: LOGICALDefault: .false.Description: Calculate the Wannier functions using W90 library calls and write rotation matrix to file 'filukk'. If false, filukk is read from disk.

Variable: wepexstType: LOGICALDefault: .false.Description: If .true. then prefix.epmatwe files are already on disk (don't recalculate). This is a debugging parameter.

Variable: wmaxType: REALDefault: 0.3d0Description: Max frequency in \delta( e_k - e_k+q - w).

Variable: wmax_specfunType: REALDefault: 0.d0Description: The upper boundary for the frequency in the electron spectral function in [eV].

Variable: wminType: REALDefault: 0.d0Description: Min frequency in \delta( e_k - e_k+q - w).

Variable: wmin_specfunType: REALDefault: 0.d0Description: The lower boundary for the frequency in the electron spectral function in [eV].

Variable: wscutType: REALDefault: 1.d0Description: Upper limit over frequency integration/summation in the Eliashberg equations in [eV]. For limag=.true., wscut is ignored if the number of frequency points is given using variable nswi.

Variable: wsfcType: REALDefault: 0.5 * wscutDescription: Intermediate frequency between (0,wscut) in the integration of the real-axis Eliashberg equations in [eV]. Works only with lreal=.true.

Variable: nqsType: IntegerDescription: The number of phonon points listed below.

Variables: xq(1) xq(2) xq(3)Type: REALDescription: The phonon wavevectors of the coarse grid. Must be in the same order as prefix_q* listed in dvscf_dir

Variables: dis_froz_min, dis_froz_maxType: REALDefault: -1d3, -0.9d3Description: Window which includes frozen states for Wannier90 See wannier90 documentation.

Variables: dis_win_min, dis_win_maxType: REALDefault: -1d3, 1d3Description: Minimum and maximum values of the disentanglement window See wannier90 documentation.

Variable: iprintType: INTEGERDefault: 2Description: Verbosity level of Wannier90 code See wannier90 documentation.

Variable: num_iterType: INTEGERDefault: 200Description: Number of iterations passed to Wannier90 for minimization See wannier90 documentation.

Variables: proj(:)Type: CHARACTERDefault: ''Description: Initial projections used in the Wannier90 calculation. Simple solution is "proj(1) = 'random' " See wannier90 documentation.

Variables: wdata(:)Type: CHARACTERDefault: ''Description: Any extra inforumation to be used in the Wannier90 calculation should be included here. These characters will be written to the 'prefix.win' file. For example to plot the first Wannier function in xcrysden format: -------------------------------------- wdata(1) = 'wannier_plot = true ' wdata(2) = 'wannier_plot_list : 1' -------------------------------------- See wannier90 documentation.

Variable: write_wfnType: LOGICALDefault: .false.Description: If .true. UNK files are output. These files must be on disk if wannier_plot = .true.