[Wannier] h(r) hoppings in AO basis

Jonathan Yates jonathan.yates at materials.ox.ac.uk
Thu Jan 24 02:11:34 CET 2013


Ganesh,

 I believe the code is correct as written.
  WF are not generally periodic in the unit cell - a set of WF constructed from bloch states on a nxnxn kpoint mesh will live within a nxnxn supercell of the unit cell. There is a section on normalization conventions in the Rev. Mod. Phys. article.
 The global phase you refer to has no effect on the normalisation.

 One warning: The WF written by plot.F90 will only obey orthonormality if the Bloch states used to construct them are orthonormal. This may not be the case when using PAW or Ultrasoft potentials (ie the total charge of a WF may not sum to 1). It depends on how the electronic structure code writes UNK files. If it writes only the soft part of the wavefunction the WF will not be orthonormal - if it adds in the augmentation part they should be orthonormal. I don't know what VASP does (but I would be interested if anyone knows).

Jonathan



On 23 Jan 2013, at 21:50, Ganesh Panchapakesan wrote:

> 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
> 
> 
> _______________________________________________
> Wannier mailing list
> Wannier at quantum-espresso.org
> http://www.democritos.it/mailman/listinfo/wannier

-- 
Department of Materials, University of Oxford, Parks Road, Oxford, OX1 3PH, UK
tel: +44 (0)1865 612797                http://users.ox.ac.uk/~oums0549/




More information about the Wannier mailing list