[Wannier] h(r) hoppings in AO basis

Ganesh Panchapakesan gpanchap at gmail.com
Wed Jan 23 22:50:29 CET 2013


Follow up:

I now understand that the normalization factor is not '1' because each
WF(n,R) is divided by the largest value whose phase is set to be zero i.e.
it is real at this point.  But shouldn't the orthogonality still work?
unless the Lowdin orthonormalization is missing i.e. eq. 17 in the Marzari
et al review of modern physics article.  Where is it coded ?

I have traced part of the problem to the following lines of code which I
believe is wrong in plot.F.  This mistake (possibly a typo) kills the
periodicity of WF(n,R):

current lines in plot.F:


 scalfac=kpt_latt(1,loop_kpt)*real(nxx-1,dp)/real(ngx,dp)+ &
                      kpt_latt(2,loop_kpt)*real(nyy-1,dp)/real(ngy,dp)+ &
                      kpt_latt(3,loop_kpt)*real(nzz-1,dp)/real(ngz,dp)

My suggested change to the above:

scalfac=kpt_latt(1,loop_kpt)*real(nx-1,dp)/real(ngx,dp)+ &
                      kpt_latt(2,loop_kpt)*real(ny-1,dp)/real(ngy,dp)+ &
                      kpt_latt(3,loop_kpt)*real(nz-1,dp)/real(ngz,dp)

This I have confirmed brings back the periodicity of the wannier functions.
 Can one of the authors please confirm the correctness (or wrongness) of my
suggestion?

I failed to mention that I am using VASP for the ab initio part.

Thanks,
Ganesh





On Tue, Jan 22, 2013 at 1:26 PM, Ganesh Panchapakesan <gpanchap at gmail.com>wrote:

> Dear All,
>
> Does anyone know if it is possible to transform the current h(r) matrix
> elements, which is in the WF-basis, to (say an atom centered)
> atomic-orbital basis within wannier90?  The transformation might be lossy
> (i.e. it might be a projection) depending on the system of course, but
> would be good to compare with other TB-fitting codes which use such
> atomic-orbital basis to represent the Hamiltonian.
>
> Also, in the current wannier90 code, I supposed the WFs are orthogonal in
> the unit cell due to periodicity i.e. WF(n,R)(r) = WF(n,0)(r-R). But I
> don't see that when I print the
> sum(wf(nx,ny,nz,wan_ind)*conjg(wf(nx,ny,nz,wan_ind)), where {n} is the real
> space grid inside the wannier_plot_supercell, which is '1' in my test case
> i.e. the unit cell.  What am I missing, is the sum needed over the
> supercell corresponding to the k-mesh i.e. {n} is {kx,ky,kz}?
>
> Thanks.
> Ganesh
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/wannier/attachments/20130123/70a44c7e/attachment.html>


More information about the Wannier mailing list