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.
electron-phonon matrix elements
Moderator: stiwari
Re: electron-phonon matrix elements
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:
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
Be careful that this will generate very large txt files (lots of data).
Best wishes,
Samuel
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
Chercheur qualifié F.R.S.-FNRS / Professeur UCLouvain
Institute of Condensed Matter and Nanosciences
UCLouvain, Belgium
Web: https://www.samuelponce.com
Re: electron-phonon matrix elements
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
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
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
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
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
Chercheur qualifié F.R.S.-FNRS / Professeur UCLouvain
Institute of Condensed Matter and Nanosciences
UCLouvain, Belgium
Web: https://www.samuelponce.com
Re: electron-phonon matrix elements
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.
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
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
the following
with
k.dat
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 ... )
while with the unchanged sic.epw.in I get
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
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
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
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
Associate Professor
Department of Physics, Applied Physics and Astronomy
Binghamton University, State University of New York