ep_on_trFS_dV Program

Compute electron-phonon matrix elements on a triangulated Fermi surface using induced potential interpolation.

Details

This utility calculates electron-phonon matrix elements interpolated on a Fermi surface triangulation following the method of:

A. Eiguren, C. Ambrosch-Draxl, Phys. Rev. B 78, 045124 (2008)

For that, the induced potentials calculated with QE on the q-grid are read in and interpolated to the non-uniform q-list corresponding to the triangulation (q=k'-k) Needed wavefunctions on the triangulated k-points are calculated on the fly by calling QE and stored. If such calculations preexist, those wavefunctions are read.

1st part:

1.- From files prefix.N_FS_tri.off, where N is the Fermi surface (FS) sheet, it reads the lists of k-points at the vertices, and the faces, in order to calculate areas.

2.- It writes a prefix-nscf.nscf.in input for pw.x by reading prefix.scf.in and replacing the k-points by the FS triangulation information.

3.- It writes a prefix-nscf.pw2intw.in file, which will convert wfc data from prefix-nscf.save directory.

4.- It sets a directory prefix-nscf.save and initializes it with the scf charge density. It runs pw.x and applies pw2intw.x to the obtained wfcs. In case the prefix-nscf.save/wfc files exist, it skips this and warns the user.

(In the case of using SIESTA step 2 to 4 are done with siesta2intw.x)

2nd part:

Read derivative of local potential (dvq_local) on the real space unit cell for q-vectors of full BZ and Fourier transform to R (Wigner-Seitz) as the first step of the interpolation. The non-local part will be added on the fly when interpolating over the triangulated k-points.

3rd part:

Loop over FS (one loop over irreducible BZ wedge, one loop over full BZ). For each k, k' interpolate the potential for q = k' - k. Read the wave functions for k and k' from their corresponding prefix-nscf.save/wfc files. Calculate electron-phonon matrix elements (local + non-local) as done in ep_melements utility. Finally, interpolated matrix elements are saved to file.

MBR 24/04/2024

Input parameters

&input
    outdir                = 'directory'
    prefix                = 'prefix'
    TR_symmetry           = T or F
    use_exclude_bands     = 'none', 'wannier' or 'custom'
    include_bands_initial = integer
    include_bands_final   = integer
/
&ph
    qlist           = 'file'
    nq1             = integer
    nq2             = integer
    nq3             = integer
    nqirr           = integer
/
&elphon
    ep_interp_method    = 'dV_interpolate'
    ep_interp_bands     = 'intw_bands' or 'ef_crossing'
    nfs_sheets_initial  = integer
    nfs_sheets_final    = integer
    nscf_code           = 'QE' or 'SIESTA'
    command_pw          = 'command'
    command_pw2intw     = 'command'
    file_pw             = 'file'
    command_siesta2intw = 'command'
    file_siesta2intw    = 'file'
/

See intw_input_parameters module for the description of each parameter.