Page 1 of 1

electron-phonon matrix elements

Posted: Wed Nov 21, 2018 8:56 am
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.

Re: electron-phonon matrix elements

Posted: Thu Nov 22, 2018 10:25 am
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

Re: electron-phonon matrix elements

Posted: Wed Jan 09, 2019 8:56 am
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

Re: electron-phonon matrix elements

Posted: Fri Jan 11, 2019 12:26 pm
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

Re: electron-phonon matrix elements

Posted: Wed Jan 16, 2019 11:26 am
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.

Re: electron-phonon matrix elements

Posted: Tue Jan 22, 2019 10:47 am
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

Re: electron-phonon matrix elements

Posted: Fri Feb 01, 2019 12:40 am
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