How to read Dynamical matrix elements (GKK File)

Phonons, DFPT, electron-phonon, electric-field response, mechanical response…

Moderators: mverstra, joaocarloscabreu

Locked
adarband
Posts: 4
Joined: Wed May 25, 2011 10:47 pm
Location: TBRRI, Thunder Bay, Ontario, Canada
Contact:

How to read Dynamical matrix elements (GKK File)

Post by adarband » Thu Jun 23, 2011 8:51 pm

Dear ABINIT users,
Following the instrustions of electron-phonon interaction lesson of ABINIT tutorial for V. 5.8, one could get the electron-phonon matrix elements of Aluminum using MRGGKK code. The matrix elements will be stored in the filename_GKK.bin . These elements are derived from Eq.1
GKK=sqrt(1/2Mw)*<Fk'n'|H|Fkn> (1)
where F is the wave function for initial and final states in kpoint k and band n, M is the mass of atomic species, W is the frequency of phonon mode, and H is the first order perturbing hamiltonian.
For instance, I calculated the GKK matrix for Aluminum in Gamma point through x-direction perturbation. I let the software compute my kpoints and I chose eight as number of bands.
The important input variables for this calculation are as follow:
kptopt 3
tolwfr1 1.0d-14
nqpt 1
qpt 0.0 0.0 0.0
rfatpol 1 1
rfdir 1 0 0
nband 8
Finally I got the matrix elements while I have 18 sets of data, 18 is the number of kpoints that software calculated itself, and each set of data has 8*8*2 elements.
here is a part of one set of my data
5.381849387327006E-008 -1.561251128379126E-017 1.594572205645348E-008
3.816391647148976E-017 -2.866782518994929E-008 -7.112366251504909E-017
6.619906472479387E-009 4.597017211338539E-017 2.586694041233153E-002
1.720805641046816E-016 8.721614083005395E-002 3.969692715744795E-016
-0.149765442657792 -3.930187570577804E-016 -1.909394437872580E-008
1.739113753621545E-016 1.947199200739995E-008 -7.589415207398531E-019
1.012150162870391E-008 6.938893903907228E-017 -2.278579346917560E-007
-1.457167719820518E-016 1.651838942268812E-007 -1.006139616066548E-016
-2.569517365880658E-002 3.666927058777789E-017 -6.200344293395467E-002
I would be glad if some one let me know how to read these data or what their order is, and what dimension they have.
Regards.

mverstra
Posts: 655
Joined: Wed Aug 19, 2009 12:01 pm

Re: How to read Dynamical matrix elements (GKK File)

Post by mverstra » Mon Apr 02, 2012 6:21 pm

You have to tell us at least where you found those numbers, your mail is extremely vague.

If they come from the GKK file in ascii format (mrggkk with second line = 1 instead of 0) you have the matrix elements in Ha (derivative wrt reduced coordinate), with one block per k-point, each block is composed of complex numbers (re im re im ...) and is of size nband**2. The k-points can be read off in the header preceding the matrix elements.

Matthieu
Matthieu Verstraete
University of Liege, Belgium

200210qb
Posts: 5
Joined: Sun Mar 18, 2012 9:58 pm

Re: How to read Dynamical matrix elements (GKK File)

Post by 200210qb » Sat Jun 16, 2012 4:50 am

mverstra wrote:You have to tell us at least where you found those numbers, your mail is extremely vague.

If they come from the GKK file in ascii format (mrggkk with second line = 1 instead of 0) you have the matrix elements in Ha (derivative wrt reduced coordinate), with one block per k-point, each block is composed of complex numbers (re im re im ...) and is of size nband**2. The k-points can be read off in the header preceding the matrix elements.

Matthieu


A related question: these matrix elements in GKK file represent < k'n' | delta_V | kn>. Since the GKK file blocks were merged from individual _GKKx files, each block also corresponds to a perturbation, say phonon q, atom b along direction i. Then the question is what is the ordering of the output (as in the original post of this thread)? Is it:

< k' 1 | delta_V | k 1>_re < k' 1 | delta_V | k 1>_im < k' 1 | delta_V | k 2>_re
< k' 1 | delta_V | k 2>_im < k' 1 | delta_V | k 3>_re < k' 1 | delta_V | k 3>_im
......
< k' nmax | delta_V | k nmax-1>_re < k' nmax | delta_V | k nmax-1>_im < k' nmax | delta_V | k nmax>_re
< k' nmax | delta_V | k nmax>_im

Thanks a lot!

Locked