Dear all,
I am using abinit 8.6.3 and I am following the tutorial on electron-phonon coupling step by step. I obtained the gkk files and merged them using the mrggkk utility as described in the tutorial. I need to know how to read the ascii version of the teph_3o_GKK.bin (from mrggkk output), because I need to access to the single gkk matrix elements. Since I followed the tutorial, I didn't change anything in the input, so the working example is exactly the input provided together with the source files of the abinit version I'm using. I already browsed the forum and the answers I found on this topic are not complete.
Thanks a lot in advance for your help
Antonio
Electron-Phonon gkk ascii file [SOLVED]
Moderators: mverstra, joaocarloscabreu
Electron-Phonon gkk ascii file [SOLVED]
Last edited by antonio on Wed Jun 13, 2018 10:28 am, edited 2 times in total.
Re: Electron-Phonon gkk ascii file
Hello,
the output can be found in src/98_main/mrggkk.F90
Broadly, there is the standard abinit header, then the ground state eigenvalues, then the "first order eigenvalues" which are a matrix since the H(1) perturbation can mix the ground state bands:
do i1wf=1,n1wf
! for each 1wf file, get name...
...
! retrieve 1WF <psi_k+q | H | psi_k> from 1wf file and echo to output
...
do spin=1,hdr1%nsppol
do ik_ibz=1,hdr1%nkpt
nband_k = PH_wfk%nband(ik_ibz,spin)
call wfk_read_eigk(PH_wfk,ik_ibz,spin,xmpio_single,eig_k)
if (binascii==0) then
write(unitout) eig_k(1:2*nband_k**2)
else if (binascii==1) then
write(unitout,*) eig_k(1:2*nband_k**2)
...
The eig_k matrices are hermitian (real array of 2 * mband**2 values)
the output can be found in src/98_main/mrggkk.F90
Broadly, there is the standard abinit header, then the ground state eigenvalues, then the "first order eigenvalues" which are a matrix since the H(1) perturbation can mix the ground state bands:
do i1wf=1,n1wf
! for each 1wf file, get name...
...
! retrieve 1WF <psi_k+q | H | psi_k> from 1wf file and echo to output
...
do spin=1,hdr1%nsppol
do ik_ibz=1,hdr1%nkpt
nband_k = PH_wfk%nband(ik_ibz,spin)
call wfk_read_eigk(PH_wfk,ik_ibz,spin,xmpio_single,eig_k)
if (binascii==0) then
write(unitout) eig_k(1:2*nband_k**2)
else if (binascii==1) then
write(unitout,*) eig_k(1:2*nband_k**2)
...
The eig_k matrices are hermitian (real array of 2 * mband**2 values)
Matthieu Verstraete
University of Liege, Belgium
University of Liege, Belgium
Re: Electron-Phonon gkk ascii file
Dear Matthieu,
thanks a lot for the answer, it was helpful. What are the physical units of the gkk elements written by abinit? Also, please, could you give me the published reference where I can find the complete definition of the gkk in the same formulation as used in abinit? I'd like to be aware of which factors are included in each of the gkk matrix elements. I don't find it in the elphon tutorial.
Thanks
Antonio
thanks a lot for the answer, it was helpful. What are the physical units of the gkk elements written by abinit? Also, please, could you give me the published reference where I can find the complete definition of the gkk in the same formulation as used in abinit? I'd like to be aware of which factors are included in each of the gkk matrix elements. I don't find it in the elphon tutorial.
Thanks
Antonio
Re: Electron-Phonon gkk ascii file
Hi again,
everything is in atomic units, essentially Ha as the perturbations are wrt reduced coordinates, E fields, etc... The prefactors and conventions follow the formulae in Savrasov and Savrasov or Grimvall. My phd (http://hdl.handle.net/2078.1/5178) has an old set of equations, which is still basically valid.
everything is in atomic units, essentially Ha as the perturbations are wrt reduced coordinates, E fields, etc... The prefactors and conventions follow the formulae in Savrasov and Savrasov or Grimvall. My phd (http://hdl.handle.net/2078.1/5178) has an old set of equations, which is still basically valid.
Matthieu Verstraete
University of Liege, Belgium
University of Liege, Belgium
Re: Electron-Phonon gkk ascii file
Hi Matthieu,
thanks a lot for the answer, everything is clear now.
All the best
Antonio
thanks a lot for the answer, everything is clear now.
All the best
Antonio