[QE-users] How to calculate tangential interband matrix element along a closed loop

Tharindu W-fernando twarnaku at ucsd.edu
Mon Sep 20 20:23:35 CEST 2021


Hello Everyone,

The common interband matrix element <m| dH/dkx \pm i dH\dky |n> seems to be
calculable using DFT software. However, I am trying to calculate the
tangential matrix element <m| dH/dt | n> \equiv <m| dH/dkx dkx/dt + dH/dky
dky/dt |n> for some parameter t that parameterizes a closed loop in
k-space: (kx(t),ky(t)) = (kx0+cos(t), ky0+sin(t)), where the loop center is
(kx0,ky0). With my basic understanding of QE, I thought of a way to do this
using a monolayer MoS2 example:
I first sample k-points along a closed loop. This gives me wavefunctions in
the .dat format. I was hoping to somehow extract wavefunction data to
smoothen the gauge using the maximally localized Wannier function method,
and manually calculate the matrix element I want using a central difference
method with MATLAB or Python.
However, I cannot seem to read the data from the .dat files. I saw several
solutions in the archives that suggest using different existing routines
that involve the evec variable. However, I am not familiar with Fortran90
and so have trouble figuring out how exactly to use such routines and
custom code to get eigenvector data in a readable format. Does anyone have
any advice or resources? I am using QE v6.6
Alternatively, are there other more-direct ways to go about calculating the
quantity I want?
Thank you very much for your time!

Tharindu W. Fernando
PhD Student, University of Washington
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20210920/02c144f3/attachment.html>


More information about the users mailing list