This lesson demonstrates how to obtain the following physical properties, for a metal :
This lesson should take about 1 hour to be done.
Before beginning, you might consider making a different subdirectory to
work in. Why not "Work_elph"?
It is presumed that the user has already followed the Tutorials RF1 and RF2, and understands the calculation of ground state and response function (phonon) properties with ABINIT.
The file telphon_1.files lists the file names and root names for the first run (GS+perturbations). You can copy it to the working directory. You can also copy the file telphon_1.in to your working directory. This is your input file.
In order to save time, you should immediately start this run ; the input files will be examined later ...
../../abinis < telphon_1.files > ,log &
The calculation is done using minimal values of a number of parameters, in order to make it tractable in a time appropriate for a tutorial. The results will be completely unconverged, but by the end of the lesson you should know how to improve the convergence.
Edit the file telphon_1.in. We now examine several variables. The kinetic energy cutoff ecut is a bit low, and the number of kpoints (determined by ngkpt) is much too low. Electron-phonon calculations require a very precise determination of the Fermi surface of the metal. This implies a very dense kpoint mesh, and the convergence of the grid must be checked. In our case, for Al, we will use a 4x4x4 kpoint grid, but a converged calculation needs more than 16x16x16 points. This will be re-considered in section 5. The qpoint grid will be 2x2x2, must be a sub-grid of the full kpoint grid, and must contain Γ.
The value of acell is fixed to a rounded value from experiment. It too should be converged to get physical results (see Tutorial 3).
Note that the value of 1.0E-14 for tolwfr is tight, and could be even lower (down to 1.0E-20). This is because the wavefunctions determined will be included later explicitly in the matrix elements used in ANADDB (as opposed to only energy values or densities, which are averages of the wavefunctions over kpoints and bands).
Run the first input (a few minutes on a PC), and you should obtain a value of
etotal -2.0828579336121 Hafor the energy at the end of DATASET 1. The following datasets calculate the second order energy variations under atomic displacement in the three reduced directions of the fcc unit cell. This is done for three different phonons, Gamma, (1/2,0,0), and X, which generate the 2x2x2 qpoint grid. The whole calculation follows the same lines as Tutorial RF1. As an example, DATASET 6 calculates the wavefunctions at k+q for k in the ground state kpoint mesh, and q=(1/2,0,0). Then, DATASET 7 calculates
2DTE 0.80951882353353for the second-order energy variation for movement of the (unique) atom along the first reduced direction for q=(1/2,0,0). The main differences with Tutorial RF1 are that
You are now the proud owner of 9 first-order wavefunction files (suffixed _1WFx), corresponding to the three directional perturbations of the atom at each of the three qpoints. The _1WF files contain the first-order wavefunctions (which we do not need) and the matrix elements of the electron-phonon interaction, which we will extract and use in the following. Besides the _1WF files there are the _DDB files for each perturbation which contain the 2DTE for the different phonons wavevectors q.
You can copy the file telphon_2.in to your working directory. This is your input file for the MRGDDB utility, which will take the different _DDB files and merge them into a single one which ANADDB will use to determine the phonon frequencies and eigenvectors. telphon_2.in contains the name of the final file, a comment line, then the number of _DDB files to be merged and their names.
MRGDDB is run with the commandmrgddb < telphon_2.inIt runs in a few seconds.
A merge similar to that in the last section must be carried out for the electron-phonon matrix elements. This is done using the MRGGKK utility, and its input file is telphon_3.in, shown below
telphon_3o_GKK.bin # Name of output file 0 # binary (0) or ascii (1) output telphon_1o_DS1_WFK # GS wavefunction file 9 0 0 # number of 1WF files, of GKK files, and of perturbations in the GKK files telphon_1o_DS3_1WF1 # names of the 1WF then the (eventual) GKK files telphon_1o_DS4_1WF2 ...The matrix element sections of all the _1WF files will be extracted and concatenated into one (binary) file, known as a _GKK file, and here named telphon_3o_GKK.bin. The following lines in telphon_3.in give the output format (0 for binary), then the name of the ground state wavefunction file. The fourth line contains 3 integers, which give the number of _1WF files, the number of _GKK files, and the number of perturbations in the _GKK files. Thus, MRGGKK functions like MRGDDB, and can merge a _1WF file with _GKK files which already contains several perturbations (qpoints or atomic displacements). For the simplest cases, we can keep the bulky _1WF files and merge them all at once. Finally, the names of the different _1WF and _GKK files are listed.
MRGGKK will run on this example in a few seconds. In more general cases, the runtime will depend on the size of the system, and for a large number of bands or kpoints can extend up to 20 minutes or more.
The general theory of electron-phonon coupling and Eliashberg superconductivity is reviewed in Theory of Superconducting Tc, P.B. Allen and B. Mitrovic in Sol. State Phys. 37 (1982) ed. Ehrenreich, Seitz, and Turnbull. The first implementations similar to that in ABINIT are those in S.Y. Savrasov and D.Y. Savrasov, Phys. Rev. B 54 16487 (1996) and A.Y. Liu and A.A. Quong, Phys. Rev. B 53 R7575-R7579 (1996).
File telphon_4.in contains the input needed by ANADDB to carry out the calculation of the electron-phonon quantities. ANADDB takes a files file, just like ABINIS, which tells it where to find the input, ddb, and gkk files, and what to name the output, thermodynamical output, and electron phonon output files. telphon_4.files is your files file for ANADDB. You can edit it now.
The new variables are at the head of the file:
# turn on calculation of the electron-phonon quantities elphflag 1 # Path in reciprocal space along which the phonon linewidths # and band structure will be calculated nqpath 7 qpath 0.0 0.0 0.0 1/2 1/2 0.0 1 1 1 1/2 1/2 1/2 1/2 1/2 0.0 1/2 3/4 1/4 1/2 1/2 1/2 # Coulomb pseudopotential parameter mustar 0.136elphflag is a flag to turn on the calculation of the electron-phonon quantities. The first quantities which will be calculated are the phonon linewidths along a path in reciprocal space (exactly like the band structure in Lesson 3.5). The path is specified by the variable qpath giving the apexes of the path in reciprocal space, which are usually special points of high symmetry. The number of points is given by nqpath. The phonon linewidths are printed to a file suffixed _LWD.
The phonon linewidths are proportional to the electron phonon coupling, and still depend on the phonon wavevector q. The other electron-phonon calculations which are presently implemented in ANADDB, in particular for superconductivity, determine isotropic quantities, which are averaged over the Fermi surface. Integrating the coupling over reciprocal space, but keeping the resolution in the phonon mode's energy, one calculates the Eliashberg spectral function α²F. The α²F function is similar to the density of states of the phonons, but is weighted according to the coupling of the phonons to the electrons. It is output to a file with suffix _A2F, which is ready to be represented using any graphical software (Xmgr, matlab, OpenDX...). The first inverse moment of α²F gives the global coupling strength, or mass renormalization factor, λ. From λ, using the McMillan formula (Phys. Rev. 167 331-344 (1968)), ANADDB calculates the critical temperature for superconductivity. The formula contains an adjustable parameter μ which approximates the effect of Coulomb interactions, and is given by the input variable mustar. For Al with the kpoint grid given and a value of μ=0.136 the ANADDB output file shows a value of
mka2f: isotropic lambda = 9.621155756490097 mka2f: omegalog = 1.7142729075039167E-004 (Ha) 54.13239234416225 (Kelvin) mka2f: input mustar = 0.1360000000000000 mka2f: MacMillan Tc = 3.9979299865063869E-005 (Ha) 12.62444933048448 (Kelvin)As expected, this is a fairly bad estimation of the experimental value of 1.2 K. The coupling strength is severely overestimated (experiment gives 0.44), and the logarithmic average frequency is too low, but not nearly enough to compensate λ. Aluminum is a good case in which things can be improved, because its Fermi surface is isotropic (adapted to the approximations in the present version of ABINIT) and the coupling is weak.
In section 4, we used the default method for integration on the Fermi surface, which employs a smearing of the DOS and attributes Gaussian weights to each kpoint as a function of its distance from the Fermi surface. Another popular method of integration in k-space is the tetrahedron method, which is also implemented in ANADDB, and can be used by setting telphint = 0. In this case the kpoint grid must be specified explicitly in the input, repeating the variable kptrlatt from the ABINIT output, so that ANADDB can re-construct the different tetrahedra which fill the reciprocal unit cell. In the Gaussian case, the width of the smearing can be controlled using the input variable elphsmear.
To test our calculations, they should be re-done with a denser kpoint grid and a denser qpoint grid, until the results (α²F or λ) are converged. The value of elphsmear should also be checked, to make sure that it does not affect results. Normally, the limit for elphsmear very small and a very dense kpoint grid is the same as the value obtained with the tetrahedron method (usually converged with a sparser kpoint grid).
Edit input file telphon_5.in and you will see the main difference with telphon_4.in is the choice of the tetrahedron integration method. If you are patient, save the output _LWD and _A2F files and run the full lesson again with a denser kpoint grid (say, 6x6x6) and you will be able to observe the differences in convergence.