electron-phonon matrix elements

Discussion around electron-phonon

Moderator: stiwari

Post Reply
Fairoja
Posts: 4
Joined: Tue Nov 20, 2018 10:43 am
Affiliation:

electron-phonon matrix elements

Post by Fairoja »

Dear All,

I am a participant of 'School on Electron-Phonon Physics from First Principles' held at the International Centre for Theoretical Physics in Trieste on 19-23 March 2018. It was a very good school and I had a great experience attending the School.

On Tuesdays Hands-on section, we tried to compute the electron-phonon matrix elements using a slightly modified phonon program (which includes printing information). It seems like the output from those calculations are '|g(q-point, frequency, band1, band2)|'. The g-matrix should be a function of k-point also, which is missing in the output. I found on the subroutine 'elphel' it is mentioned that

-------------------
write(6,*)
write(6,*) 'We here write only the matrix elements for k=Gamma in the first proc:'
write(6,*)
!
! consider only initial state k=0
-------------------

Does this mean that all the |g| written on the output file are for k=0? In this case how one can get |g| as s function of k-point as well.

Thank you for your time and consideration,
Best regards,
Fairoja.
-----------
Fairoja Cheenicode Kabeer
Postdoctoral researcher,
Materials Theory,
Uppsala University.

sponce
Site Admin
Posts: 616
Joined: Wed Jan 13, 2016 7:25 pm
Affiliation: EPFL

Re: electron-phonon matrix elements

Post by sponce »

Dear Fairoja,

You can consider any state. We only show the el-ph matrix element at k=\Gamma and then changed q.
However you can look at any k-point.

In the code you have:

Code: Select all

  ! consider only initial state k=0
  ik = 1
  WRITE(6,'(a,3f10.6)') 'xk ', (xk(n,ik),n=1,3)


where ik=1 is in this case the Gamma point. You can just change that value to get different k-points.
Note that you can also add k-point loop around all of that like this

Code: Select all

DO ik=1, MAX_NUMBER_OF_K_POINTS
  WRITE(6,'(a,3f10.6)') 'xk ', (xk(n,ik),n=1,3)
  write(6,*) ' ibnd  jbnd  imode   eig_i (eV)    eig_j (eV)   omega_nu (meV)    |g| (meV)'
...
ENDDO


Be careful that this will generate very large txt files (lots of data).

Best wishes,
Samuel
Prof. Samuel Poncé
Chercheur qualifié F.R.S.-FNRS / Professeur UCLouvain
Institute of Condensed Matter and Nanosciences
UCLouvain, Belgium
Web: https://www.samuelponce.com

SaraFiore
Posts: 13
Joined: Mon Oct 22, 2018 4:20 pm
Affiliation:

Re: electron-phonon matrix elements

Post by SaraFiore »

Dear sponce,

I am interested in the same topic.

I downloaded the version released for the school
in the subroutine './tests/Inputs/t07/elphon.f90' there is

Code: Select all

 ! consider only initial state k=0
  ik = 2
  WRITE(6,'(a,3f10.6)') 'xk ', (xk(n,ik),n=1,3)
  !

What does this '2' represent?

how can i change it if I am interested in specific k point?
Thank you in advance for any help

Sara Fiore

ETH Zrich | PhD Student | Doctorate at D-ITET
Rechn. Modellierung Nanostrukturen

sponce
Site Admin
Posts: 616
Joined: Wed Jan 13, 2016 7:25 pm
Affiliation: EPFL

Re: electron-phonon matrix elements

Post by sponce »

Dear Sara Fiore,

This is the specific k-point to be printed (ik=2 is the second k-point (of the local pool, so better to do this with 1 cpu)).
The k-point value (x,y,z coordinate) will be reported in the output with the line
WRITE(6,'(a,3f10.6)') 'xk ', (xk(n,ik),n=1,3)

Best,
Samuel
Prof. Samuel Poncé
Chercheur qualifié F.R.S.-FNRS / Professeur UCLouvain
Institute of Condensed Matter and Nanosciences
UCLouvain, Belgium
Web: https://www.samuelponce.com

Fairoja
Posts: 4
Joined: Tue Nov 20, 2018 10:43 am
Affiliation:

Re: electron-phonon matrix elements

Post by Fairoja »

Dear Samual,

Thank you for the reply! I tried to modify the output writing part of the program (subroutine elphsum2 of elphon.f90) and performed some calculations. I have tried different q-points

q1 0.000000000000000 0.000000000000000 0.000000000000000
q2 0.000000000000000 0.000000000000000 0.119721397504348
q3 0.000000000000000 0.000000000000000 -0.239442795008697
q4 0.000000000000000 0.125000000000000 0.125000000000000 ...

The first three finished without any issue, but the output file for the q4 has some NaN values written.

The following is the style of output
---------------------------------------
ibnd jbnd imode omega_nu (meV)
# loop over k-points
|g| (meV) eig_i(k) (eV) eig_j(q) (eV)
# end loop
---------------------------------------
54.268873 0.000000 0.000000
55.053020 0.000000 0.000000
56.387030 0.000000 0.000000
NaN 0.000000 NaN
55.010279 0.000000 0.000000
54.644403 0.000000 0.000000
....
4.733780 12316.262843 53834.825476
NaN 55197.660572 NaN
30.164047 0.000000 0.000000
30.031159 0.000000 0.000000
30.054339 0.000000 0.000000
59.273177*************** 0.000000
27.924379 0.000000 0.000000

Can you please comment on this issue. Is it due to the writing issue of eig_j(q)? if yes, How can I solve this?

Thank you very much for your time and consideration,
Fairoja.
-----------
Fairoja Cheenicode Kabeer
Postdoctoral researcher,
Uppsala University.

SaraFiore
Posts: 13
Joined: Mon Oct 22, 2018 4:20 pm
Affiliation:

Re: electron-phonon matrix elements

Post by SaraFiore »

Dear Samuel,
thank you for your answer and I am sorry to have to ask again your help (and that I'm mixing my questions with the ones of the other user)

I do not understand : ik =2 is the second point of what? of a list? of a grid? which list/grid?
I am using the following inputs from the School : Hands-on 1: Electron-phonon matrix elements with EPW, polar materials --> Wed.4.tar
In sic.epw.in : I tried to substitute to

Code: Select all

  
  nkf1        = 1
  nkf2        = 1
  nkf3        = 1

the following

Code: Select all

filkf = 'k.dat'


with
k.dat

Code: Select all

        43
    0.000000    0.000000    0.000000   1.0
    0.000000    0.050000    0.050000   1.0
    0.000000    0.100000    0.100000   1.0
    0.000000    0.150000    0.150000   1.0
    0.000000    0.200000    0.200000   1.0
    0.000000    0.250000    0.250000   1.0
    0.000000    0.300000    0.300000   1.0
    0.000000    0.350000    0.350000   1.0
    0.000000    0.400000    0.400000   1.0
    0.000000    0.450000    0.450000   1.0
    0.000000    0.500000    0.500000   1.0
    0.050000    0.500000    0.550000   1.0
    0.100000    0.500000    0.600000   1.0
    0.150000    0.500000    0.650000   1.0
    0.200000    0.500000    0.700000   1.0
    0.250000    0.500000    0.750000   1.0
    0.285714    0.500000    0.714286   1.0
    0.321429    0.500000    0.678571   1.0
    0.357143    0.500000    0.642857   1.0
    0.392857    0.500000    0.607143   1.0
    0.428571    0.500000    0.571429   1.0
    0.464286    0.500000    0.535714   1.0
    0.500000    0.500000    0.500000   1.0
    0.444444    0.444444    0.444444   1.0
    0.388889    0.388889    0.388889   1.0
    0.333333    0.333333    0.333333   1.0
    0.277778    0.277778    0.277778   1.0
    0.222222    0.222222    0.222222   1.0
    0.166667    0.166667    0.166667   1.0
    0.111111    0.111111    0.111111   1.0
    0.055556    0.055556    0.055556   1.0
    0.000000    0.000000    0.000000   1.0
    0.034091    0.034091    0.068182   1.0
    0.068182    0.068182    0.136364   1.0
    0.102273    0.102273    0.204545   1.0
    0.136364    0.136364    0.272727   1.0
    0.170455    0.170455    0.340909   1.0
    0.204545    0.204545    0.409091   1.0
    0.238636    0.238636    0.477273   1.0
    0.272727    0.272727    0.545455   1.0
    0.306818    0.306818    0.613636   1.0
    0.340909    0.340909    0.681818   1.0
    0.375000    0.375000    0.750000   1.0

i.e. the same values of the file path.dat

I tried to run this modified version
but I get the following result... ( no more dependence from q point exist from the second step on ... )

Code: Select all

   Number of ep-matrix elements per pool :          264 ~= 2.06 Kb (@ 8 bytes/ DP)
      Electron-phonon vertex |g| (meV)

     iq =       1 coord.:    0.0000000   0.0000000   0.0000000
     ik =       1 coord.:    0.0000000   0.0000000   0.0000000
      ibnd     jbnd     imode   enk[eV]    enk+q[eV] omega(q)[meV]   |g|[meV]
------------------------------------------------------------------------------
        1        1        1     -6.1066     -6.1066      0.0000 0.5222169534E-02
        1        1        2     -6.1066     -6.1066      0.0000 0.5222169534E-02
        1        1        3     -6.1066     -6.1066      0.0000 0.5222169534E-02
        1        1        4     -6.1066     -6.1066     95.9221 0.1275773102E-05
        1        1        5     -6.1066     -6.1066     95.9221 0.1275773102E-05
        1        1        6     -6.1066     -6.1066     95.9221 0.1275773102E-05
        1        2        1     -6.1066      9.3595      0.0000 0.2822526284E+06
        1        2        2     -6.1066      9.3595      0.0000 0.2822526284E+06
        1        2        3     -6.1066      9.3595      0.0000 0.2822526284E+06
        1        2        4     -6.1066      9.3595     95.9221 0.1568913091E+03
        1        2        5     -6.1066      9.3595     95.9221 0.1568913091E+03
        1        2        6     -6.1066      9.3595     95.9221 0.1568913091E+03
        2        1        1      9.3595     -6.1066      0.0000 0.2821764810E+06
        2        1        2      9.3595     -6.1066      0.0000 0.2821764810E+06
        2        1        3      9.3595     -6.1066      0.0000 0.2821764810E+06
        2        1        4      9.3595     -6.1066     95.9221 0.1568913091E+03
        2        1        5      9.3595     -6.1066     95.9221 0.1568913091E+03
        2        1        6      9.3595     -6.1066     95.9221 0.1568913091E+03
        2        2        1      9.3595      9.3595      0.0000 0.1071685442E+02
        2        2        2      9.3595      9.3595      0.0000 0.1071685442E+02
        2        2        3      9.3595      9.3595      0.0000 0.1071685442E+02
        2        2        4      9.3595      9.3595     95.9221 0.1263503597E+03
        2        2        5      9.3595      9.3595     95.9221 0.1263503597E+03
        2        2        6      9.3595      9.3595     95.9221 0.1263503597E+03
------------------------------------------------------------------------------

     ik =       2 coord.:    0.0000000   0.0500000   0.0500000
      ibnd     jbnd     imode   enk[eV]    enk+q[eV] omega(q)[meV]   |g|[meV]
------------------------------------------------------------------------------
        1        1        1     -6.0355     -6.0355      0.0000 0.5799412816E-02
        1        1        2     -6.0355     -6.0355      0.0000 0.5799412816E-02
        1        1        3     -6.0355     -6.0355      0.0000 0.5799412816E-02
        1        1        4     -6.0355     -6.0355     95.9221 0.1588303029E-05
        1        1        5     -6.0355     -6.0355     95.9221 0.1588303029E-05
        1        1        6     -6.0355     -6.0355     95.9221 0.1588303029E-05
        1        2        1     -6.0355      9.1560      0.0000 0.2776357961E+06
        1        2        2     -6.0355      9.1560      0.0000 0.2776357961E+06
        1        2        3     -6.0355      9.1560      0.0000 0.2776357961E+06
        1        2        4     -6.0355      9.1560     95.9221 0.1548695773E+03
        1        2        5     -6.0355      9.1560     95.9221 0.1548695773E+03
        1        2        6     -6.0355      9.1560     95.9221 0.1548695773E+03
        2        1        1      9.1560     -6.0355      0.0000 0.2776357961E+06
        2        1        2      9.1560     -6.0355      0.0000 0.2776357961E+06
        2        1        3      9.1560     -6.0355      0.0000 0.2776357961E+06
...
....



while with the unchanged sic.epw.in I get

Code: Select all

     Number of ep-matrix elements per pool :           54 ~= 0.42 Kb (@ 8 bytes/ DP)
      Electron-phonon vertex |g| (meV)

     iq =       1 coord.:    0.0000000   0.0000000   0.0000000
     ik =       1 coord.:    0.0000000   0.0000000   0.0000000
      ibnd     jbnd     imode   enk[eV]    enk+q[eV] omega(q)[meV]   |g|[meV]
------------------------------------------------------------------------------
        2        2        1      9.3595      9.3595      0.0000 0.1025382412E+02
        2        2        2      9.3595      9.3595      0.0000 0.1025382412E+02
        2        2        3      9.3595      9.3595      0.0000 0.1025382412E+02
        2        2        4      9.3595      9.3595     95.9221 0.1176469183E+03
        2        2        5      9.3595      9.3595     95.9221 0.1176469183E+03
        2        2        6      9.3595      9.3595     95.9221 0.1176469183E+03
        2        3        1      9.3595      9.3595      0.0000 0.1025382412E+02
        2        3        2      9.3595      9.3595      0.0000 0.1025382412E+02
        2        3        3      9.3595      9.3595      0.0000 0.1025382412E+02
        2        3        4      9.3595      9.3595     95.9221 0.1176469183E+03
        2        3        5      9.3595      9.3595     95.9221 0.1176469183E+03
        2        3        6      9.3595      9.3595     95.9221 0.1176469183E+03
        2        4        1      9.3595      9.3595      0.0000 0.1025382412E+02
        2        4        2      9.3595      9.3595      0.0000 0.1025382412E+02
        2        4        3      9.3595      9.3595      0.0000 0.1025382412E+02
        2        4        4      9.3595      9.3595     95.9221 0.1176469183E+03
        2        4        5      9.3595      9.3595     95.9221 0.1176469183E+03
        2        4        6      9.3595      9.3595     95.9221 0.1176469183E+03
        3        2        1      9.3595      9.3595      0.0000 0.1025382412E+02
        3        2        2      9.3595      9.3595      0.0000 0.1025382412E+02
        3        2        3      9.3595      9.3595      0.0000 0.1025382412E+02
        3        2        4      9.3595      9.3595     95.9221 0.1176469183E+03
        3        2        5      9.3595      9.3595     95.9221 0.1176469183E+03
        3        2        6      9.3595      9.3595     95.9221 0.1176469183E+03
        3        3        1      9.3595      9.3595      0.0000 0.1025382412E+02
        3        3        2      9.3595      9.3595      0.0000 0.1025382412E+02
        3        3        3      9.3595      9.3595      0.0000 0.1025382412E+02
        3        3        4      9.3595      9.3595     95.9221 0.1176469183E+03
        3        3        5      9.3595      9.3595     95.9221 0.1176469183E+03
        3        3        6      9.3595      9.3595     95.9221 0.1176469183E+03
        3        4        1      9.3595      9.3595      0.0000 0.1025382412E+02
        3        4        2      9.3595      9.3595      0.0000 0.1025382412E+02
        3        4        3      9.3595      9.3595      0.0000 0.1025382412E+02
        3        4        4      9.3595      9.3595     95.9221 0.1176469183E+03
        3        4        5      9.3595      9.3595     95.9221 0.1176469183E+03
        3        4        6      9.3595      9.3595     95.9221 0.1176469183E+03
        4        2        1      9.3595      9.3595      0.0000 0.1025382412E+02
        4        2        2      9.3595      9.3595      0.0000 0.1025382412E+02
        4        2        3      9.3595      9.3595      0.0000 0.1025382412E+02
        4        2        4      9.3595      9.3595     95.9221 0.1176469183E+03
        4        2        5      9.3595      9.3595     95.9221 0.1176469183E+03
        4        2        6      9.3595      9.3595     95.9221 0.1176469183E+03
        4        3        1      9.3595      9.3595      0.0000 0.1025382412E+02
        4        3        2      9.3595      9.3595      0.0000 0.1025382412E+02
        4        3        3      9.3595      9.3595      0.0000 0.1025382412E+02
        4        3        4      9.3595      9.3595     95.9221 0.1176469183E+03
        4        3        5      9.3595      9.3595     95.9221 0.1176469183E+03
        4        3        6      9.3595      9.3595     95.9221 0.1176469183E+03
        4        4        1      9.3595      9.3595      0.0000 0.1025382412E+02
        4        4        2      9.3595      9.3595      0.0000 0.1025382412E+02
        4        4        3      9.3595      9.3595      0.0000 0.1025382412E+02
        4        4        4      9.3595      9.3595     95.9221 0.1176469183E+03
        4        4        5      9.3595      9.3595     95.9221 0.1176469183E+03
        4        4        6      9.3595      9.3595     95.9221 0.1176469183E+03
------------------------------------------------------------------------------

      Electron-phonon vertex |g| (meV)

     iq =       2 coord.:    0.0000000   0.0500000   0.0500000
     ik =       1 coord.:    0.0000000   0.0000000   0.0000000
      ibnd     jbnd     imode   enk[eV]    enk+q[eV] omega(q)[meV]   |g|[meV]
------------------------------------------------------------------------------
        2        2        1      9.3595      9.1560      7.3642 0.1410651751E+02
        2        2        2      9.3595      9.1560      7.4177 0.7448860647E+01
        2        2        3      9.3595      9.1560     10.6462 0.2261395359E+02
        2        2        4      9.3595      9.1560     95.7931 0.1457131275E+03
        2        2        5      9.3595      9.1560     95.7938 0.1457131275E+03
        2        2        6      9.3595      9.1560    116.0048 0.5846914499E+03
        2        3        1      9.3595      9.2361      7.3642 0.2127339868E+02
        2        3        2      9.3595      9.2361      7.4177 0.4533876775E+01
        2        3        3      9.3595      9.2361     10.6462 0.4948183599E+02
        2        3        4      9.3595      9.2361     95.7931 0.1023130164E+03
        2        3        5      9.3595      9.2361     95.7938 0.1023130164E+03
        2        3        6      9.3595      9.2361    116.0048 0.6042865706E+03
        2        4        1      9.3595      9.2361      7.3642 0.2127339868E+02



let us assume that I am interested to compute g((0.272727 , 0.272727 , 0.545455) ; q)

I really don't understand how to do that.

I am sorry for such a long post and I thank you in advance for all your time and consideration

Bests
Sara

roxana
Posts: 172
Joined: Fri Jan 22, 2016 6:48 pm
Affiliation:

Re: electron-phonon matrix elements

Post by roxana »

Hi Sara,

ik = 2 is the second k-point in the grid (if you provide a mesh) or in the list (if you provide a file with the path).

The point you listed 0.272727 0.272727 0.545455 would be ik=40 in the k.dat list provided.

Best,
Roxana
Roxana Margine
Associate Professor
Department of Physics, Applied Physics and Astronomy
Binghamton University, State University of New York

Post Reply