eph input variables¶
This document lists and provides the description of the name (keywords) of the eph input variables to be used in the input file for the abinit executable.
asr¶
Mnemonics: Acoustic Sum Rule
Mentioned in topic(s): topic_DFPT
Variable type: integer
Dimensions: scalar
Default value: 1
Added in version: before_v9
Test list (click to open). Rarely used, [6/1101] in all abinit tests, [0/151] in abinit tutorials
Govern the imposition of the Acoustic Sum Rule (ASR) in phonon calculations. Same meaning as the corresponding anaddb variable.
brav¶
Mnemonics: BRAVais
Mentioned in topic(s): topic_ElPhonInt
Variable type: integer
Dimensions: scalar
Default value: 1
Added in version: 9.1.4
Test list (click to open). Rarely used, [1/1101] in all abinit tests, [0/151] in abinit tutorials
 v9: t61.abi
See brav@anaddb
chneut¶
Mnemonics: CHarge NEUTrality treatment
Mentioned in topic(s): topic_Phonons
Variable type: integer
Dimensions: scalar
Default value: 1
Added in version: before_v9
Test list (click to open). Rarely used, [3/1101] in all abinit tests, [0/151] in abinit tutorials
Set the treatment of the Charge Neutrality requirement for the effective charges. Same meaning as the corresponding anaddb variable. Note the different default value in abinit and anaddb
ddb_ngqpt¶
Mnemonics: Derivative DataBase: Number of Grid points for QPoinTs
Mentioned in topic(s): topic_ElPhonInt
Variable type: integer
Dimensions: (3)
Default value: [0, 0, 0]
Added in version: before_v9
Test list (click to open). Moderately used, [23/1101] in all abinit tests, [10/151] in abinit tutorials
 tutorespfn: teph4mob_5.abi, teph4mob_6.abi, teph4mob_7.abi …
 v7: t88.abi, t89.abi …
 v8: t44.abi, t57.abi, t65.abi …
 v9: t53.abi, t54.abi, t55.abi …
This variable is mandatory when optdriver == 7. It defines the number of divisions in the (homogeneous) qmesh used to generate the DDB file. See also the description of the getddb, getddb_filepath input variables.
ddb_shiftq¶
Mnemonics: Derivative DataBase: SHIFT of the Qpoints
Mentioned in topic(s): topic_ElPhonInt
Variable type: real
Dimensions: (3)
Default value: [0.0, 0.0, 0.0]
Added in version: before_v9
Test list (click to open). Rarely used, [2/1101] in all abinit tests, [0/151] in abinit tutorials
Only relevant when optdriver == 7. It defines the shift in the qmesh used to generate the DDB file, which is defined by the ddb_ngqpt input variable. See shiftk for more information on the definition.
dipdip¶
Mnemonics: DIPoleDIPole interaction
Mentioned in topic(s): topic_Phonons
Variable type: integer
Dimensions: scalar
Default value: 1
Added in version: before_v9
Test list (click to open). Rarely used, [4/1101] in all abinit tests, [2/151] in abinit tutorials
 tutorespfn: teph4isotc_2.abi, teph4isotc_5.abi
 v7: t88.abi
 v9: t92.abi
This variable defines the treatment of the dipoledipole interaction. Same meaning as the corresponding anaddb variable dipdip@anaddb
dipquad¶
Mnemonics: DIPoleQUADdrupole interaction
Characteristics: DEVELOP
Mentioned in topic(s): topic_longwave
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: v9.5.2
Test list (click to open). Rarely used, [0/1101] in all abinit tests, [0/151] in abinit tutorials
Same meaning as dipquad@anaddb
dvdb_add_lr¶
Mnemonics: DVDB ADD LongRange part when interpolating DFPT potentials.
Mentioned in topic(s): topic_ElPhonInt
Variable type: integer
Dimensions: scalar
Default value: 1
Added in version: 9.0.0
Test list (click to open). Rarely used, [1/1101] in all abinit tests, [0/151] in abinit tutorials
 v9: t60.abi
This flag is used in the Fourier interpolation in qspace of the DFPT potentials. This option is similar to dipdip but it acts on the DFPT potentials instead of the dynamical matrix.
In polar materials there is a long range (LR) component in the firstorder variation of the KS potential that can be modeled in terms of the Born effective charges and the macroscopic dielectric tensor [Verdi2015], [Giustino2017] (dipolar part) and two additional terms of quadrupolar character related to the dynamical quadrupoles and the response to the electric field ([Brunin2020], [Brunin2020b].
If dvdb_add_lr is set to 1, the LR part is removed when computing the realspace representation of the DFPT potentials so that the potential in real space is shortranged and amenable to Fourier interpolation. The longrange contribution is then added back when interpolating the DFPT potentials at arbitrary qpoints This is the default behaviour that relies on a DDB file with all the entries required to build the LR mode.
Setting this flag to 0 deactivates the treatment of the LR contribution. This is just for testing purposes and it is not recommended in polar materials.
If dvdb_add_lr is set to 1, the LR part is removed before computing the realspace representation but the LR term is not reintroduced during the interpolation in \qqspace. This option is mainly used for debugging purposes.
Other options (again for testing purposes):
0: > No treatment
1: > Remove LR model when building W(R,r). Add it back after W(R,r) > v(q) Fourier interpolation
This is the standard approach for polar materials.
1: > Remove LR model when building W(R,r). DO NOT reintroduce it after the Fourier interpolation.
4, 5, 6: > Use model for the LR part only:
4: > Use dipole + quadrupole part
5: > Use dipole part only.
6: > Use quadrupole part only.
dvdb_qcache_mb¶
Mnemonics: DVDB QCACHE size in Megabytes
Mentioned in topic(s): topic_ElPhonInt
Variable type: real
Dimensions: scalar
Default value: 0.0
Added in version: before_v9
Test list (click to open). Rarely used, [1/1101] in all abinit tests, [0/151] in abinit tutorials
 v8: t44.abi
This variable activates a caching mechanism for the DFPT potentials used in the EPH part. The code will store in memory multiple qpoints up to this size in Megabytes in order to reduce the number of IO operations required to read the potentials from the DVDB file.
This option leads to a significant speedup of calculations requiring integrations in qspace (eph_task == 4) at the price of an increase of the memory requirements. The speedup is important especially if the QP corrections are computed for several kpoints.
A negative value signals to the code that all the qpoints in the DVDB should be stored in memory. Use zero value disables the cache.
Note
This variable is still under development as many things changed in the treatment of the interpolation of the DFPT potential. For the time being, avoid using this option unless you know what you are doing.
dvdb_qdamp¶
Mnemonics: DVDB QDAMPing
Mentioned in topic(s): topic_ElPhonInt
Variable type: real
Dimensions: scalar
Default value: 0.1
Added in version: 9.1.0
Test list (click to open). Rarely used, [1/1101] in all abinit tests, [0/151] in abinit tutorials
 v9: t56.abi
This advanced variable defines the \alpha parameter in the Gaussian filter e^{\frac{\qG^2}{4\alpha}} that multiplies the Fourier components of the model potential in the long wavelength limit (Eq 24 of [Brunin2020b] see also [Sjakste2015] and [Giustino2017]).
The \alpha parameter determines the separation between the longrange and the shortrange parts of the interaction and is used to express Ewald sums [Gonze1997]. in terms of a sum in \GGspace (longrange part) and a sum in real space that, being short ranged, is not relevant for the definition of the LR model.
dvdb_rspace_cell¶
Mnemonics: DVDB RSPACE CELL
Mentioned in topic(s): topic_ElPhonInt
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: 9.1.0
Test list (click to open). Rarely used, [1/1101] in all abinit tests, [0/151] in abinit tutorials
 v9: t56.abi
This advanced variable sets the list of supercell \RRpoints used to construct the scattering potential in the realspace representation with the associated weights for the Fourier transform to go from W(\rr,\RR) to v1scf(\rr,\qq).
Possible values are:
0 → Use unit super cell for \RR space. All weights set to 1. 1 → Use WignerSeitz super cell and atomdependent weights (same algorithm as for the dynamical matrix). Note that this option leads to more \RRpoints with a nonnegligible increase of the memory allocated.
Tip
Reducing the value of boxcutmin to e.g. 1.1 allows one to reduce the number, %nfft, of \rrpoints with a considerable memory saving for W(\rr,\RR).
eph_doping¶
Mnemonics: EPH doping
Mentioned in topic(s): topic_ElPhonInt
Variable type: real
Dimensions: scalar
Default value: 0.0
Added in version: 9.2.0
Test list (click to open). Rarely used, [4/1101] in all abinit tests, [3/151] in abinit tutorials
 tutorespfn: teph4mob_5.abi, teph4mob_6.abi, teph4mob_7.abi
 v9: t53.abi
Gives the doping charge in units of e_charge / cm^3. Negative for ndoping, positive for pdoping. Alternative to eph_extrael for simulating doping within the rigid band approximation. Require metallic occupation scheme occopt e.g. FermiDirac.
eph_ecutosc¶
Mnemonics: ElectronPhonon: Energy CUToff for OSCillator matrix elements
Characteristics: ENERGY
Mentioned in topic(s): topic_ElPhonInt
Variable type: real
Dimensions: scalar
Default value: 0.0 Hartree
Added in version: 9.0.0
Test list (click to open). Rarely used, [0/1101] in all abinit tests, [0/151] in abinit tutorials
This variable defines the energy cutoff defining the number of Gvectors in the oscillator matrix elements:
These quantities are used to compute the longrange part of the eph matrix elements that are then used to integrate the Frohlich divergence.
Possible values:
 = 0 → Approximate oscillators with $ \delta_{b_1 b_2} $

0 → Use full expression with Gdependence
 < 0 → Deactivate computation of oscillators.
Important
eph_ecutosc cannot be greater than ecut
This variable is still under development!
eph_extrael¶
Mnemonics: ElectronPHonon: EXTRA ELectrons
Mentioned in topic(s): topic_ElPhonInt
Variable type: real
Dimensions: scalar
Default value: 0.0
Added in version: before_v9
Test list (click to open). Rarely used, [4/1101] in all abinit tests, [0/151] in abinit tutorials
Number of electrons per unit cell to be added/subtracted to the initial value computed from the pseudopotentials and the unit cell. Can be used to simulate doping within the rigid band approximation. Require metallic occupation scheme occopt e.g. FermiDirac. See also eph_doping to specify the same quantity in terms of charge/cm^3
eph_fermie¶
Mnemonics: ElectronPHonon: FERMI Energy
Characteristics: ENERGY
Mentioned in topic(s): topic_ElPhonInt
Variable type: real
Dimensions: scalar
Default value: 0.0
Added in version: before_v9
Test list (click to open). Rarely used, [2/1101] in all abinit tests, [0/151] in abinit tutorials
This variable can be used to change artificially the value of the Fermi level when performing eph calculations. The variable has effect only if set to a nonzero value. This option is mutually exclusive with eph_extrael and eph_doping. When eph_fermie is used the number of temperatures specified by tmesh cannot be greater than one.
eph_frohlichm¶
Mnemonics: ElectronPHonon: FROHLICH Model
Mentioned in topic(s): topic_ElPhonInt
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [2/1101] in all abinit tests, [0/151] in abinit tutorials
Only relevant for optdriver=7 and eph_task=6. If set to 1, use the dynamical matrix at Gamma, the Born effective charges, the dielectric tensor, as well as the effective masses (must give a _EFMAS file as input, see prtefmas and getefmas or irdefmas), as the parameters of a Frohlich Hamiltonian. Then use these to compute the change of electronic eigenvalues due to electronphonon interaction, using secondorder timedependent perturbation theory. Can deliver (approximate) zeropoint renormalisation as well as temperature dependence.
eph_fsewin¶
Mnemonics: ElectronPhonon: Fermi Surface Energy WINdow
Characteristics: ENERGY
Mentioned in topic(s): topic_ElPhonInt
Variable type: real
Dimensions: scalar
Default value: 0.04 Hartree
Added in version: before_v9
Test list (click to open). Rarely used, [3/1101] in all abinit tests, [2/151] in abinit tutorials
 tutorespfn: teph4isotc_2.abi, teph4isotc_5.abi
 v7: t88.abi
This variable defines the energy window around the Fermi level used for eph calculations (optdriver = 7). Only states located in the energy range [efermi  eph_fsewin, efermi + eph_fsewin] are included in the eph calculation.
Related input variables: eph_intmeth, eph_fsmear, eph_extrael and eph_fermie.
eph_fsmear¶
Mnemonics: ElectronPHonon: Fermi surface SMEARing
Characteristics: ENERGY
Mentioned in topic(s): topic_ElPhonInt
Variable type: real
Dimensions: scalar
Default value: 0.01 Hartree
Only relevant if: eph_intmeth == 1
Added in version: before_v9
Test list (click to open). Rarely used, [3/1101] in all abinit tests, [2/151] in abinit tutorials
 tutorespfn: teph4isotc_2.abi, teph4isotc_5.abi
 v7: t88.abi
This variable defines the gaussian broadening used for the integration over the double delta over the Fermi surface when eph_intmeth == 1. A negative value, activates the adaptive gaussian broadening proposed in [Li2015] in which the broadening is automatically computed from the group velocities.
eph_intmeth¶
Mnemonics: ElectronPhonon: INTegration METHod
Mentioned in topic(s): topic_ElPhonInt
Variable type: integer
Dimensions: scalar
Default value: 2 (tetra) except when eph_task = 4 and when (eph_task = 4 and symsigma == 0), where 1 is used as default.
Added in version: before_v9
Test list (click to open). Moderately used, [12/1101] in all abinit tests, [4/151] in abinit tutorials
 tutorespfn: teph4mob_5.abi, teph4mob_6.abi, teph4isotc_2.abi, teph4isotc_5.abi
 v7: t88.abi
 v8: t44.abi
 v9: t53.abi, t54.abi, t55.abi, t56.abi, t60.abi, t61.abi
This variable defines the technique for the integration over the Brillouin zone in the EPH code.
 1 → Gaussian technique with broadening factor
 2 → Tetrahedron method.
Note that the default value depends on the value of eph_task i.e. on the physical properties we are computing.
 Phonon linewidths in metals (eph_task = 1):

The default approach for the integration of the doubledelta over the Fermi surface is 2 (optimized tetrahedron by [Kawamura2014]). When the gaussian method is used, the broadening is given by eph_fsmear. A negative value activates the adaptive Gaussian broadening. See also eph_fsewin.
 Electronphonon selfenergy (also spectral function) with eph_task = 4):

The default is eph_intmeth == 1, Lorentzian method with broadening specified by zcut. Note that eph_intmeth == 2 is still in development for this case (ABINITv9.2).
 Imaginary part of the electronphonon selfenergy (eph_task = 4):

The default is eph_intmeth == 2, Tetrahedron method by [Blochl1994] except when symsigma == 0, where it is eph_intmeth == 1.
eph_mustar¶
Mnemonics: ElectronPHonon: MU STAR (electronelectron interaction strength)
Mentioned in topic(s): topic_ElPhonInt
Variable type: real
Dimensions: scalar
Default value: 0.1
Added in version: before_v9
Test list (click to open). Rarely used, [1/1101] in all abinit tests, [0/151] in abinit tutorials
 v7: t88.abi
Average electronelectron interaction strength, for the computation of the superconducting Tc using McMillan’s formula.
eph_ngqpt_fine¶
Mnemonics: ElectronPHonon: Number of Grid QPoinTs in FINE grid.
Mentioned in topic(s): topic_ElPhonInt
Variable type: integer
Dimensions: (3)
Default value: [0, 0, 0]
Added in version: before_v9
Test list (click to open). Moderately used, [14/1101] in all abinit tests, [7/151] in abinit tutorials
 tutorespfn: teph4mob_5.abi, teph4mob_6.abi, teph4mob_7.abi, teph4isotc_2.abi, teph4isotc_5.abi, teph4zpr_7.abi, teph4zpr_8.abi
 v7: t88.abi
 v8: t44.abi, t65.abi
 v9: t54.abi, t60.abi, t61.abi, t65.abi
This variable activates the interpolation of the firstorder variation of the selfconsistent potential in the electronphonon code (optdriver == 7).
If eph_nqgpt_fine differs from [0, 0, 0], the code will use the Fourier transform to interpolate the DFPT potentials on this fine qmesh starting from the irreducible set of qpoints read from the DVDB file. This approach is similar to the one used to interpolate the interatomic force constants in qspace. If eph_ngqpt_fine is not given, the EPH code uses the list of irreducible qpoints reported in the DDB file i.e. ddb_ngqpt (default behavior).
Important
The computation of the eph matrix elements requires the knowledge of \psi_{\bf k} and \psi_{\bf k + q}. This means that the kmesh for electrons found in the WFK must be compatible with the one given in eph_ngqpt_fine. The code can interpolate DFPT potentials but won’t try to interpolate KS wavefunctions. and will stop if {\bf k + q} is not found in the WFK file.
eph_np_pqbks¶
Mnemonics: EPH Number of Processors for Perturbations, Qpoints, Bands, Kpoints, Spin.
Mentioned in topic(s): topic_ElPhonInt
Variable type: integer
Dimensions: (5)
Default value: 0
Added in version: 9.1.0
Test list (click to open). Rarely used, [0/1101] in all abinit tests, [0/151] in abinit tutorials
This variable defines the Cartesian grid of MPI processors used for EPH calculations. If not specified in the input, the code will generate this grid automatically using the total number of processors and the basic dimensions of the job computed at runtime. At present October 07, 2021), this variable is supported only in the calculation of the phonon linewidths (eph_task 1) and in the computation of the eph selfenergy (eph_task 4 or 4). In all the other tasks, this variable is ignored.
Preliminary considerations:
EPH calculations require very dense samplings of the BZ to converge and the memory requirements increase quickly with the number of kpoints, qpoints and natom. The EPH code can MPIdistribute the most important data structures but non all the MPIlevels present the same scalability and the same parallel efficiency. Besides the maximum number of MPI processes that can be used for the different MPIlevels is related to the basic dimensions of the calculation.
In what follows, we briefly explain the pros and cons of the different MPIlevels, then we specialize the discussion to the different calculations activated by eph_task.
The parallelization over perturbations (np) is network intensive but it allows one to decrease the memory needed for the DFPT potentials especially when computing the eph selfenergy. The maximum value for np is 3 * natom and the workload is equally distributed provided np divides 3 * natom equally. Using np == natom usually gives good parallel efficiency.
The parallelization over bands (nb) has limited scalability that depends on the number of bands included in the selfenergy but it allows one to reduce the memory allocated for the wavefunctions, especially when we have to sum over empty states in the eph selfenergy.
eph_task = +1 By default, the code uses all the processes for the (kpoint, spin) parallelism. Since the number of kpoints around the FS is usually large, this parallelization scheme is OK in most of the cases. When the number of processes becomes comparable to the number of kpoints around the FS, it makes sense to activate the qpoint parallelism. The parallelism over perturbations should be used to reduce the memory allocated for the interpolation of the DFPT potentials. The band parallelism is not supported in this part.
eph_task = +4 Parallelization over bands allows one to reduce the memory needed for the wavefunctions but this level is less efficient than the parallelization over qpoints and perturbations. To avoid load and memory imbalance, nb should divide nband. We suggest to increase the number of procs for bands until the memory allocated for the wavefunctions decreases to a reasonable level and then use the remaining procs for nq and np in this order until these levels start to saturate. The MPI parallelism over kpoints and spins is efficient at the level of the walltime but it requires HDF5 + MPIIO support and memory does not scale. Use these additional levels if the memory requirements are under control and you need to boost the calculation. Note also that in this case the output results are written to different text files, only the SIGEPH.nc file will contains all the kpoints and spins.
eph_task = 4 The number of bands in the selfenergy sum is usually small so it does not make sense to parallelize along this dimension. The parallelization over qpoints seem to be more efficient than the one over perturbations although it introduces some load imbalance because, due to memory reasons, the code distributes the qpoints in the IBZ (nqibz) instead of the qpoints in the full BZ (nqbz). Moreover non all the qpoints in the IBZ contribute to the imaginary part of \Sigma_{nk}. The MPI parallelism over kpoints and spins is supported with similar behaviour as in eph_task +4.
Important
The total number of MPI processes must be equal to the product of the different entries.
Note also that the EPH code implements its own MPIalgorithm and this eph_np_pqbks is the only variable that should be used to change the default behaviour. Other variables such as nppert, npband, npfft, npkpt and paral_kgb are not used in the EPH subdriver.
eph_phrange¶
Mnemonics: EPH PHonon mode RANGE.
Mentioned in topic(s): topic_SelfEnergy
Variable type: real
Dimensions: (2)
Default value: [0, 0]
Added in version: 9.0.0
Test list (click to open). Rarely used, [1/1101] in all abinit tests, [0/151] in abinit tutorials
 v9: t61.abi
This variable is used to select the range of phonon modes included in the computation of the electronphonon selfenergy. By default all phonon modes are included ([0, 0]), otherwise only the phonon modes with index between the first and second entry are included.
eph_phwinfact¶
Mnemonics: EPH PHonon FACTor for energy WINdow
Mentioned in topic(s): topic_ElPhonInt
Variable type: real
Dimensions: scalar
Default value: 1.1
Added in version: 9.2.0
Test list (click to open). Rarely used, [1/1101] in all abinit tests, [0/151] in abinit tutorials
 v9: t60.abi
This variable defines the effective energy window for the \kq KS states in the computation of electron lifetimes (eph_task 4) and is used to predict the list of \qqpoints in the BZ that will be needeed during the calculation.
The code uses e.g. the input sigma_erange to select the \nk states in \tau_\nk but then this initial energy window must be increased a bit to accommodate for phonon absorption/emission (from \kk to \kq). This is important for \nk states that are close to edge of the initial energy window as this states may be needed for the linear interpolation used in tetrahedron method.
In a nutshell, the code increases the initial window using the max phonon frequency multiplied by eph_phwinfact . The default value is a compromise between numerical stability and efficiency. Reducing eph_phwinfact to a value closer to one (still > 1) can lead to a substantial decrease in the number of \kq KS states that must be read from file with a subsequent decrease in the memory requirements for the wavefunctions. We recommended to perform initial tests to decide whether a value smaller than four can be used.
eph_restart¶
Mnemonics: EPH RESTART.
Mentioned in topic(s): topic_ElPhonInt
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: 9.0.0
Test list (click to open). Rarely used, [1/1101] in all abinit tests, [0/151] in abinit tutorials
 v9: t60.abi
This variable can be used to restart an EPH calculation. At present, this feature is supported only when computing the electronphonon selfenergy (eph_task = 4, 4). In this case, the code will look for a preexisting SIGEPH.nc file and will compute the remaining kpoints provided that the metadata found in the netcdf file is compatible with the input variables specified in the input file. The code aborts if the metadata reported in the SIGEPH.nc file is not compatible with the input file. Note that the restart in done inplace that is the output SIGEPH.nc is used as input of the calculation so there is no need to specify getsigeph or irdsigeph input variables.
eph_stern¶
Mnemonics: ElectronPHonon: use STERNheimer approach to replace sum over empty states.
Mentioned in topic(s): topic_ElPhonInt
Variable type: integer
Dimensions: scalar
Default value: 0
Only relevant if: tolwfr > 0
Added in version: 9.0.0
Test list (click to open). Rarely used, [4/1101] in all abinit tests, [3/151] in abinit tutorials
 tutorespfn: teph4zpr_6.abi, teph4zpr_7.abi, teph4zpr_8.abi
 v8: t44.abi
This variable activates the Sternheimer method in the calculation of the eph selfenergy (eph_task == 4) This technique replaces the explicit sum over empty states above nband with the NSCF computation of the first order derivative of the KS wavefunctions (actually the projection in the subspace orthogonal to the nband states).
The Sternheimer approach requires an external file with the KS potential produced by setting prtpot = 1 during the GS run. The path to the external POT file used in the EPH calculation is specified via getpot_filepath. The number of line minimisations for the Sternheimer solver is defined by nline. The solver stops when the solution is converged within tolwfr.
Important
The Sternheimer approach approximates the eph selfenergy with the adiabatic expression in which phonon frequencies are neglected and the frequency dependence of \Sigma_{n\kk}(\omega) is replaced by \Sigma_{n\kk}(\ee_{n\kk}). This approximation is valid provided that enough bands above the states of interest are explicitly included. The calculation should therefore be converged with respect to the value of nband. Note however that the memory requirements and the computational cost of the Sternheimer solver increases with nband as this part is not yet parallelized.
eph_task¶
Mnemonics: ElectronPHonon: Task
Mentioned in topic(s): topic_ElPhonInt
Variable type: integer
Dimensions: scalar
Default value: 1
Only relevant if: optdriver == 7
Added in version: before_v9
Test list (click to open). Moderately used, [23/1101] in all abinit tests, [10/151] in abinit tutorials
 tutorespfn: teph4mob_5.abi, teph4mob_6.abi, teph4mob_7.abi …
 v7: t88.abi, t89.abi …
 v8: t44.abi, t57.abi, t65.abi …
 v9: t53.abi, t54.abi, t55.abi …
Select the electronphonon task to be performed when optdriver == 7. The choice is among:
 0 → No computation (mainly used to access the postprocessing tools)
 1 → Compute phonon linewidths in metals and superconducting properties (isotropic formalism).
 2 → Compute eph matrix elements. Save results in GKK.nc file.
 2 → Compute eph matrix elements. Save results in GKQ.nc file that can be postprocessed with AbiPy.
 3 → Compute phonon selfenergy.
 4 → Compute electron selfenergy (FanMigdal + DebyeWaller) and QP corrections, also possibly the spectral function. Generate SIGEPH.nc file.
 4 → Compute electron lifetimes due to eph interaction (imaginary part of FanMigdal selfenergy). Generate SIGEPH.nc file.
 5 → Interpolate DFPT potentials to produce a new DVDB file on the eph_ngqpt_fine qmesh that can be read with getdvdb
 5 → Interpolate DFPT potentials on the qpath specified by ph_qpath and ph_nqpath. Note that, in this case, the user has to provide the full list of qpoints in the input, ph_ndivsm is not used to generate the qpath.
 6 → Estimate correction to the ZPR in polar materials using the generalized Frohlich model. Requires EFMAS.nc file. See [Miglio2020].
 7 → Compute phonon limited transport in semiconductors using lifetimes taken from SIGEPH.nc file. See [Brunin2020b].
 8 → Compute phonon limited transport by solving the (linearized) IBTE using collision terms taken from SIGEPH.nc file. Requires ibte_prep = 1 when computing the imaginary part of the eph selfenergy with eph_task == 4.
 10 → Compute polaron effective mass, using the generalized Frohlich model, in the triplydegenerate VB or CB cubic case. Polaron effective masses are computed along the 3 crystallographic directions: (100), (110) and (111). Same requirement than for eph_task =6. Reference B. Guster et al to be published (2021) or (2022).
 15, 15 → Write the average in rspace of the DFPT potentials to the V1QAVG.nc file. In the first case (+15) the qpoints are specified via ph_nqpath and ph_qpath. The code assumes the input DVDB contains qpoints in the IBZ and the potentials along the path are interpolated with Fourier transform. An array D(R) with the decay of the W(R,r) as a function of R is computed and saved to file In the second case (15) the qpoints are taken directly from the DVDB file.
Important
At the time of writing (October 07, 2021 ), PAW or normconserving pseudos with SOC are not supported by the EPH code. Also useylm must be set to 0 (default for NC pseudos).
eph_tols_idelta¶
Mnemonics: EPH TOLeranceS on Integral of DELTA.
Mentioned in topic(s): topic_SelfEnergy
Variable type: real
Dimensions: (2)
Default value: [1e12, 1e12]
Added in version: 9.0.0
Test list (click to open). Rarely used, [1/1101] in all abinit tests, [0/151] in abinit tutorials
 v9: t60.abi
This variable can be used to introduce a cutoff on the qpoints when computing the imaginary part of the electronphonon selfenergy (eph_task = 4) with the tetrahedron method (eph_intmeth = 2). The first entry refers to phonon absorption while the second one is associated to phonon emission. A qpoint is included in the sum of the tetrahedron weights for phonon absorption/emission are larger that these values.
eph_transport¶
Mnemonics: ElectronPHonon: TRANSPORT flag
Mentioned in topic(s): topic_ElPhonInt
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [1/1101] in all abinit tests, [0/151] in abinit tutorials
 v7: t88.abi
NB  this does not work yet. This variable can be used to turn on the calculation of transport quantities in the eph module of abinit. Value of 1 corresponds to elastic LOVA as in [Savrasov1996].
eph_use_ftinterp¶
Mnemonics: EPH FORCE Fourier Transform Interpolation of DFPT potentials.
Mentioned in topic(s): topic_ElPhonInt
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: 9.0.0
Test list (click to open). Rarely used, [0/1101] in all abinit tests, [0/151] in abinit tutorials
This is an advanced option used for testing/debugging the interpolation of the DFPT potentials when eph_task in (2, 2). By default, the code seeks for the qpoint in the input DVDB file when eph_use_ftinterp is set to zero (default) and stops is the qpoint in not found in the file. When eph_use_ftinterp is set to 1, the input DVDB file (assumed to contain the ddb_ngqpt qmesh) will be used to generate the realspace representation of the DFPT potentials and interpolate the potential at the input qpt.
getkerange_filepath¶
Mnemonics: KERANGE PATH
Mentioned in topic(s): topic_ElPhonInt
Variable type: string
Dimensions: scalar
Default value: None
Added in version: 9.0.0
Test list (click to open). Rarely used, [3/1101] in all abinit tests, [1/151] in abinit tutorials
 tutorespfn: teph4isotc_4.abi
 v9: t61.abi, t65.abi
This variable defines the path of the external KERANGE.nc file with the list of kpoints in the electron/hole pockets for semiconductors or the kpoints withing an energy window around the Fermi level as specified by sigma_erange.
The tables stored in the netcdf file are used for the calculation of the imaginary part of the eph selfenergy (eph_task == 4). This file is generated by running a preliminary step with wfk_task = “wfk_kpts_erange”. For an example, see v9[57]
ibte_abs_tol¶
Mnemonics: Iterative Boltzmann Equation: ALPHA TOLerance for convergence
Mentioned in topic(s): topic_ElPhonInt
Variable type: real
Dimensions: scalar
Default value: 1e4
Added in version: 9.3.0
Test list (click to open). Rarely used, [1/1101] in all abinit tests, [0/151] in abinit tutorials
 v9: t65.abi
This variable is still under development.
ibte_alpha_mix¶
Mnemonics: Iterative Boltzmann Equation: ALPHA Mixing factor
Mentioned in topic(s): topic_ElPhonInt
Variable type: real
Dimensions: scalar
Default value: 0.7
Added in version: 9.3.0
Test list (click to open). Rarely used, [1/1101] in all abinit tests, [0/151] in abinit tutorials
 v9: t65.abi
This variable defines the coefficient for the linear mixing used in the IBTE solver. If the algorithm has problems to converge try to decrease ibte_alpha_mix and increase ibte_niter.
ibte_niter¶
Mnemonics: Iterative Boltzmann Equation: max Number of ITERations
Mentioned in topic(s): topic_ElPhonInt
Variable type: integer
Dimensions: scalar
Default value: 100
Added in version: 9.3.0
Test list (click to open). Rarely used, [1/1101] in all abinit tests, [0/151] in abinit tutorials
 v9: t65.abi
This variable defines the maximum number of iterations of the IBTE solver.
ibte_prep¶
Mnemonics: Iterative Boltzmann Equation PREPare
Mentioned in topic(s): topic_ElPhonInt
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: 9.3.0
Test list (click to open). Rarely used, [1/1101] in all abinit tests, [0/151] in abinit tutorials
 v9: t65.abi
This variable is used when computing the imaginary part of the eph selfenergy (eph_task =  4) to save the collision term to the SIGEPH file. This step is required for solving the iterative BTE.
Note that, once you have a SIGEPH file with the collision terms, it is possible to run the IBTE solver in standalone mode by using eph_task = 8 with getsigeph_filepath.
Important
IBTE calculations cannot use sigma_ngkpt to donwsample the kmesh. The kmesh (ngkpt and the qmesh eph_ngqpt_fine must be equal.
ph_intmeth¶
Mnemonics: PHonons: INTegration METHod
Mentioned in topic(s): topic_qpoints
Variable type: integer
Dimensions: scalar
Default value: 2
Added in version: before_v9
Test list (click to open). Moderately used, [13/1101] in all abinit tests, [5/151] in abinit tutorials
 tutorespfn: teph4mob_5.abi, teph4mob_6.abi, teph4isotc_2.abi, teph4isotc_5.abi, teph4zpr_4.abi
 v7: t88.abi
 v8: t44.abi
 v9: t53.abi, t54.abi, t55.abi, t56.abi, t60.abi, t61.abi
Select the integration technique for computing the phonon DOS and the Eliashberg function \alpha^2F(\omega).
 1 → Gaussian scheme (see also ph_smear for the broadening).
 2 → Tetrahedron method (no other input is needed but at least 4 qpoints in the BZ are required).
ph_ndivsm¶
Mnemonics: PHonons: Number of DIVisions for sampling the SMallest segment
Mentioned in topic(s): topic_qpoints
Variable type: integer
Dimensions: scalar
Default value: 20
Added in version: before_v9
Test list (click to open). Rarely used, [3/1101] in all abinit tests, [1/151] in abinit tutorials
 tutorespfn: teph4zpr_4.abi
 v7: t88.abi
 v8: t44.abi
This variable is used in conjunction with ph_nqpath and ph_qpath to define the qpath used for phonon band structures and phonon linewidths. It gives the number of points used to sample the smallest segment in the qpath specified by ph_qpath.
ph_ngqpt¶
Mnemonics: PHonons: Number of Grid points for QPoinT mesh.
Mentioned in topic(s): topic_qpoints
Variable type: integer
Dimensions: (3)
Default value: [20, 20, 20]
Added in version: before_v9
Test list (click to open). Moderately used, [15/1101] in all abinit tests, [8/151] in abinit tutorials
 tutorespfn: teph4mob_5.abi, teph4mob_6.abi, teph4mob_7.abi, teph4isotc_2.abi, teph4isotc_5.abi, teph4zpr_4.abi, teph4zpr_7.abi, teph4zpr_8.abi
 v7: t88.abi
 v8: t44.abi, t65.abi
 v9: t54.abi, t60.abi, t61.abi, t65.abi
This variable defines the qmesh used to compute the phonon DOS and the Eliashberg function via Fourier interpolation. Related input variables: ph_qshift and ph_nqshift.
ph_nqpath¶
Mnemonics: PHonons: Number of Qpoints defining the PATH
Mentioned in topic(s): topic_qpoints
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [7/1101] in all abinit tests, [3/151] in abinit tutorials
 tutorespfn: teph4isotc_2.abi, teph4isotc_5.abi, teph4zpr_4.abi
 v7: t88.abi
 v8: t44.abi
 v9: t60.abi, t61.abi
This integer defines the number of points in the ph_qpath array.
ph_nqshift¶
Mnemonics: PHonons: Number of QSHIFTs
Mentioned in topic(s): topic_qpoints
Variable type: integer
Dimensions: scalar
Default value: 1
Added in version: before_v9
Test list (click to open). Rarely used, [2/1101] in all abinit tests, [0/151] in abinit tutorials
This variable defines the number of shifts in the qmesh used for the phonon DOS and for the Eliashberg functions (see ph_ngqpt). If not given, the code assumes a Gammacentered mesh. The shifts are specified by ph_qshift.
ph_qpath¶
Mnemonics: Phonons: QPATH
Mentioned in topic(s): topic_qpoints
Variable type: real
Dimensions: (3,ph_nqpath)
Default value: None
Only relevant if: specified(ph_nqpath)
Added in version: before_v9
Test list (click to open). Rarely used, [7/1101] in all abinit tests, [3/151] in abinit tutorials
 tutorespfn: teph4isotc_2.abi, teph4isotc_5.abi, teph4zpr_4.abi
 v7: t88.abi
 v8: t44.abi
 v9: t60.abi, t61.abi
This array contains the list of special qpoints used to construct the qpath used to (Fourier) interpolate phonon band structures and phonon linewidths. See also ph_nqpath and ph_ndivsm.
ph_qshift¶
Mnemonics: PHonons: QSHIFTs for mesh.
Mentioned in topic(s): topic_qpoints
Variable type: real
Dimensions: (3,ph_nqshift)
Default value: [0, 0, 0]
Only relevant if: ph_nqshift
Added in version: before_v9
Test list (click to open). Rarely used, [2/1101] in all abinit tests, [0/151] in abinit tutorials
This array gives the shifts to be used to construct the qmesh for computing the phonon DOS and the Eliashberg functions (see also ph_nqshift). If not given, a Gammacentered mesh is used.
ph_smear¶
Mnemonics: PHonons: SMEARing factor
Characteristics: ENERGY
Mentioned in topic(s): topic_qpoints
Variable type: real
Dimensions: scalar
Default value: 0.00002 Hartree
Only relevant if: ph_intmeth == 1
Added in version: before_v9
Test list (click to open). Rarely used, [2/1101] in all abinit tests, [0/151] in abinit tutorials
The Gaussian broadening used for the integration of the phonon DOS and the Eliashberg function. See also ph_intmeth and ph_ngqpt.
ph_wstep¶
Mnemonics: PHonons: frequency(W) STEP.
Characteristics: ENERGY
Mentioned in topic(s): topic_qpoints
Variable type: real
Dimensions: scalar
Default value: 0.1 meV
Added in version: before_v9
Test list (click to open). Rarely used, [3/1101] in all abinit tests, [1/151] in abinit tutorials
 tutorespfn: teph4zpr_4.abi
 v7: t88.abi
 v8: t44.abi
The step used to generate the (linear) frequency mesh for the phonon DOS and the Eliashberg function. The extrema of the mesh are automatically computed by the code.
prteliash¶
Mnemonics: PRINT ELIASHberg function.
Mentioned in topic(s): topic_SelfEnergy
Variable type: integer
Dimensions: scalar
Default value: 0
Only relevant if: optdriver in [7]
Added in version: 9.0.0
Test list (click to open). Rarely used, [3/1101] in all abinit tests, [0/151] in abinit tutorials
This variable controls the output of the generalized Eliashberg function when eph_task is +4 or 4. If set 1, the EPH code will compute the generalized Eliashberg function and will save the results in the SIGEPH.nc file.
prtphbands¶
Mnemonics: PRinT PHonon BANDS
Mentioned in topic(s): topic_printing
Variable type: integer
Dimensions: scalar
Default value: 1
Added in version: before_v9
Test list (click to open). Rarely used, [1/1101] in all abinit tests, [0/151] in abinit tutorials
 v7: t88.abi
This option activates the output of the phonon frequencies in the EPH code. Possible values:
 0 Disable the output of the phonon frequencies.
 1 Write frequencies in xmgrace format. A file with extension
PHBANDS.agr
is produced. Usexmgrace file_PHBANDS.agr
to visualize the data  2 Write frequencies in gnuplot format. The code produces a
PHBANDS.dat
file with the eigenvalues and aPHBANDS.gnuplot
script. Usegnuplot file_PHBANDS.gnuplot
to visualize the phonon band structure.
prtphdos¶
Mnemonics: PRinT the PHonon Density Of States
Characteristics: DEVELOP
Mentioned in topic(s): topic_printing, topic_ElPhonInt
Variable type: integer
Dimensions: scalar
Default value: 1
Added in version: before_v9
Test list (click to open). Moderately used, [14/1101] in all abinit tests, [3/151] in abinit tutorials
 tutorespfn: teph4zpr_6.abi, teph4zpr_7.abi, teph4zpr_8.abi
 v7: t89.abi
 v8: t57.abi, t65.abi
 v9: t53.abi, t54.abi, t55.abi, t56.abi, t57.abi, t60.abi, t61.abi, t66.abi
Print the phonon density of states. It is activated by default when optdriver == 7.
Note also that this variable activates the computation of the generalized Eliashberg function associated to the electronphonon selfenergy when eph_task in [4, 4].
prtphsurf¶
Mnemonics: PRinT PHonon isoSURFace
Mentioned in topic(s): topic_printing, topic_ElPhonInt
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [1/1101] in all abinit tests, [0/151] in abinit tutorials
 v7: t88.abi
Print a bxsf file (Xcrysden format) with the (interpolated) phonon frequencies computed of the qmesh determined by ph_ngqpt. The file can be use to visualize isosurfaces with Xcrysden or other similar tools supporting the bxsf format. Note that the (dense) qmesh must be Gammacentered, shifted meshes are not supported by Xcrysden. This variable requires optdriver == 7.
quadquad¶
Mnemonics: QUADdrupoleQUADdrupole interaction
Characteristics: DEVELOP
Mentioned in topic(s): topic_longwave
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: v9.5.2
Test list (click to open). Rarely used, [0/1101] in all abinit tests, [0/151] in abinit tutorials
Same meaning as quadquad@anaddb
rifcsph¶
Mnemonics: Radius of the Interatomic Force Constant SPHere
Mentioned in topic(s): topic_Phonons
Variable type: real
Dimensions: scalar
Default value: 0
Added in version: 9.2.0
Test list (click to open). Rarely used, [2/1101] in all abinit tests, [0/151] in abinit tutorials
Same meaning as rifcsph@anaddb.
sigma_erange¶
Mnemonics: SIGMA Energyrange.
Characteristics: ENERGY
Mentioned in topic(s): topic_SelfEnergy
Variable type: real
Dimensions: (2)
Default value: [0.0, 0.0]
Added in version: 9.0.0
Test list (click to open). Rarely used, [9/1101] in all abinit tests, [4/151] in abinit tutorials
 tutorespfn: teph4mob_5.abi, teph4mob_6.abi, teph4mob_7.abi, teph4isotc_3.abi
 v9: t57.abi, t60.abi, t61.abi, t62.abi, t65.abi
This variable consists of two entries that allow one to select the kpoints and the bands in the eph selfenergy \Sigma_\nk on the basis of their KS energy \ee_\nk. This variable is used in [eph_task]] = 4 to compute phononlimited mobilities in the energy region relevant for transport.
If both entries in sigma_erange are negative, the code assumes a metal and only states within the energy window [efermi  abs(sigma_erange(1)), efermi + abs(sigma_erange(2)] are included in the calculation.
Positive (or zero) values are used in semiconductors to define an energy range with respect to the band edges In this case, the first entry given the position of the holes with respect to the CBM while the second entry gives the position of electrons with respect to the VBM (energy differences are always positive, even for holes). A zero entry can be used to exclude either holes or electrons from the calculation.
If both entries are zero, the variable is ignored. Note that sigma_erange is not compatible with nkptgw and sigma_ngkpt.
Important
By default, this variable is given in Hartree. Use e.g.
sigma_erange 0.0 0.5 eV
to specify the energy intervals in eV units.
symdynmat¶
Mnemonics: SYMmetrize the DYNamical MATrix
Mentioned in topic(s): topic_Phonons
Variable type: integer
Dimensions: scalar
Default value: 1
Added in version: before_v9
Test list (click to open). Rarely used, [0/1101] in all abinit tests, [0/151] in abinit tutorials
If symdynmat is equal to 1, the dynamical matrix is symmetrized before the diagonalization (same meaning as the corresponding anaddb variable). Note that symdynmat == 1 will automatically enable the symmetrization of the electron phonon linewidths.
symv1scf¶
Mnemonics: SYMmetrize V1 DFPT SCF potentials
Mentioned in topic(s): topic_ElPhonInt
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: 9.0.0
Test list (click to open). Rarely used, [1/1101] in all abinit tests, [0/151] in abinit tutorials
 v9: t60.abi
If symv1scf is equal to 1, the spatialsymmetry on the firstorder DFPT potentials is enforced every time a set of potentials in the BZ is reconstructed by symmetry starting from the initial values in the IBZ. This option is similar to symdynmat but it acts on the DFPT potentials instead of the dynamical matrix.
tmesh¶
Mnemonics: Temperature MESH
Mentioned in topic(s): topic_ElPhonInt
Variable type: real
Dimensions: (3)
Default value: [5.0, 59.0, 6.0]
Added in version: 8.7.3
Test list (click to open). Moderately used, [17/1101] in all abinit tests, [8/151] in abinit tutorials
 tutorespfn: teph4mob_5.abi, teph4mob_6.abi, teph4mob_7.abi, teph4zpr_4.abi, teph4zpr_5.abi, teph4zpr_6.abi, teph4zpr_7.abi, teph4zpr_8.abi
 v5: t66.abi
 v8: t44.abi
 v9: t53.abi, t54.abi, t55.abi, t56.abi, t60.abi, t61.abi, t65.abi
This variable defines the linear mesh of temperatures used in the EPH code (optdriver = 7). The first entry gives the initial temperature in Kelvin, the second entry the linear step in Kelvin, the third entry is the number of points in the mesh. The default value corresponds to 6 points between 5 K and 300 K.
transport_ngkpt¶
Mnemonics: TRANSPORT: Number of Grid points for K PoinTs integration in transport computations
Mentioned in topic(s): topic_SelfEnergy
Variable type: integer
Dimensions: (3)
Default value: [0, 0, 0]
Only relevant if: optdriver == 7 and eph_task in [4,7]
Added in version: 9.0.0
Test list (click to open). Rarely used, [1/1101] in all abinit tests, [1/151] in abinit tutorials
 tutorespfn: teph4mob_7.abi
This in an advanced option that is mainly used to downsample the kpoints used to compute the carrier mobility obtained with (eph_task = 4 or eph_task = 7).
If this variable is not specified, the code uses the kmesh specified by ngkpt (i.e. the kmesh corresponding to the WFK file) for computing the mobility integral in the BZ. In some cases, however, one may want to employ a submesh of kpoints to analyze the convergence behaviour. For instance one may have performed a calculation with a 100x100x100 kmesh and may be interested in the values obtained with a 50x50x50 without having to perform a full lifetime calculation on a 50x50x50 from scratch.