ABINIT, Elphon lesson of the tutorial:

Electron-Phonon interaction and superconducting properties of Al.


This lesson demonstrates how to obtain the following physical properties, for a metal :

Here you will learn to use the electron-phonon coupling part of the anaddb utility. This implies a preliminary calculation of the electron-phonon matrix elements and phonon frequencies and eigenvectors, from a standard ABINIT phonon calculation, which will be reviewed succinctly.

This lesson should take about 1 hour to be done.

Copyright (C) 2005-2008 ABINIT group (MVer)
This file is distributed under the terms of the GNU General Public License, see ~abinit/COPYING or http://www.gnu.org/copyleft/gpl.txt .
For the initials of contributors, see ~abinit/doc/developers/contributors.txt .

Goto : ABINIT home Page | Suggested acknowledgments | List of input variables | Tutorial home page | Bibliography
Help files : New user's guide | Abinis (main) | Abinis (respfn) | Mrgddb | Anaddb | AIM (Bader) | Cut3D | Optic | Mrgscr

 

Content of lesson Elphon



1. Calculation of the ground state and phonon structure of fcc Al.

 

Before beginning, you might consider making a different subdirectory to work in. Why not create "Work_elphon" in ~abinit/tests/tutorespfn/Input ?

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 ~abinit/tests/tutorespfn/Input/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 ~abinit/tests/tutorespfn/Input/telphon_1.in to your working directory. This is your input file.

  • cp ../telphon_1.files .
  • cp ../telphon_1.in .
  • 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 Ha 
    for 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.80951882353353 
    for 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 In the standard case, ABINIT uses symmetry operations and non-stationary expressions to calculate a minimal number of 2DTE for different mixed second derivatives of the total energy. In our case we use the first derivatives, and they must all be calculated explicitly. This is why each perturbation is treated in a different dataset.

    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.



    2. Merging of the 2DTE _DDB files using MRGDDB.

     

    You can copy the file ~abinit/tests/tutorespfn/Input/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 command
     mrgddb < telphon_2.in 
    It runs in a few seconds.



    3. Extraction and merging of the electron-phonon matrix elements using MRGGKK.

     

    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 ~abinit/tests/tutorespfn/Input/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.



    4. Basic ANADDB calculation of electron-phonon quantities.

     

    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 ~abinit/tests/tutorespfn/Input/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. ~abinit/tests/tutorespfn/Input/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.136
    elphflag 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 =     1.578052E+01
     mka2f: omegalog  =     1.779895E-04 (Ha)     5.620458E+01 (Kelvin)
     mka2f: input mustar =     1.360000E-01
     mka2f: MacMillan Tc =     4.382426E-05 (Ha)     1.383859E+01 (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.



    5. Convergence tests of the integration techniques.

     

    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 ~abinit/tests/tutorespfn/Input/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.


    Goto : ABINIT home Page | Suggested acknowledgments | List of input variables | Tutorial home page | Bibliography
    Help files : New user's guide | Abinis (main) | Abinis (respfn) | Mrgddb | Anaddb | AIM (Bader) | Cut3D | Optic | Mrgscr