Sincev.5.0, there are two ways of calculating electron-phonon coefficients【哪两种?】, distinguished according to the value of variable electron_phonon. The following holds for caseelectron_phonon='interpolated'(see also Example 03). 【以内插值替换的?】
Thecalculation of electron-phonon coefficients in metals is made difficult by the slow convergence of the sum at the Fermi energy. It is convenient to
use acoarse k-point grid to calculate phonons on a suitable wavevector grid【合适的波矢网格?与下面的2对应:a normal scf + phonon dispersion calculation on the coarse k-point grid,】;
a dense k-point grid to calculate the sum at the Fermi energy.The calculation proceeds in this way:
a scf calculation for the dense k-point grid (or a scf calculation followed by a non-scf one on the dense k-point grid【自洽,再非自洽,这是老版pwscf的做法吗】);
specify option la2f=.true.to pw.xin order to save a file with the eigenvalues on the dense k-point grid. The latter MUST contain all k and k+q grid points used in the subsequent electron-phonon calculation. All grids MUST be unshifted, i.e. include k = 0 .
a normal scf + phonon dispersion calculation on the coarse k-point grid, specifying optionelectron_paononh='interpolated'. and the file name where the self-consistent first-order variation of the potential is to be stored: variable fildvscf).
The electron-phonon coefficients are calculated using several values of Gaussian broadening (see PHonon/PH/elphon.f90) because this quickly shows whether results are converged or not with respect to the k-point grid and Gaussian broadening.【gaussian展宽?】
Finally, you can use matdyn.xand lambda.x(input documentation in the header of PHonon/PH/lambda.f90) to get the F() function, the electron-phonon coefficient , and an estimate of the critical temperature Tc .
See the appendix for the relevant formulae.
Read Me of example 03
This example illustrates how to calculate electron-phonon interaction
c oefficients, for a (444) Monkhorst-Pack (MP) grid of q-points, in fcc Al.
IMPORTANT NOTICE:the calculation of electron-phonon coefficients is tricky.
Do not attempt it unless you have a clear idea of the technical problems
(e.g. very slowconvergence with k-point grid,, divergence at q=>0 for optical
modes). Carefullyread the relevant literature first.
The calculationproceeds as follows (for the meaning of the cited input
variables see theappropriate INPUT_* file)
1) make a self-consistent calculation for Al using a dense grid of k-points.
The dense grid must contain all k and k+q grid points used in the
subsequent electron-phonon 【如何做到?】calculation andmust be dense enough to
produce accurate el-phon coefficients (in particular the double-delta
integral at Ef is very critical). Note that you have to use unshifted
grids (k1=k2=k3=0) only, that include k=0!
This example uses a (16 16 16) MP grid. Notethat the k-point grids
used here are NOT dense enough for a seriouscalculation!!!
The option "la2F=.true." instructs the code to save data into a
"a2Fsave" file, subsequently readduring the el-phon calculation
(input=al.scf.fit.in, output=al.scf.fit.out)
2) make aself-consistent calculation for Al using a grid of k-points
that is suitable for good self-consistencyand phonon calculation.
This example uses a (888) MP grid.
(input=al.scf.in,output=al.scf.out)
3) make the phonon and electron-phonon calculation for the grid of q-points.
Specify elph=.true., and the name of a file where the derivative of the
potential is stored "fildvscf".This example uses a (444) MP grid of
q-points (nq1=4, nq2=4, nq3=4).
The output contains the results for the el-ph coefficient at each q-point
lambda(q), gamma(q), and the double-delta integral at several values of
the gaussian broadening (set in filePH/elphon.f90). These are useful
for convergence testing.
(input=al.elph.in,output=al.elph.out)
The results are also written into outputfiles "a2Fq2r.*", one per value
of the gaussian broadening, for further use.
4) Bring tor-space both force constants and el-phon coefficients using "q2r.x"
Output in files "a2Fmatdyn.*", one per value of the gaussian broadening
5) Calculate gamma on selected lines using "matdyn.x" (dos=.false.)
6) Calculate lambda coefficient (in file"lambda") and the a^2F(omega)
function using "matdyn.x" (dos=.true.)
7) Calculate lambda coefficient (in "lambda.out")and Tc using "lambda.x"
# #########SCF at dense k-mesh, good enough forelectronic DOS 【多密算密】 #######