[Wannier] Library mode

Arash Mostofi a.mostofi at imperial.ac.uk
Wed Nov 28 01:57:40 CET 2007

Dear Jurgen

Wannier90 assumes that it is the u_nk(r) and not the \psi_nk(r) that are 
written to the UNK* files. If you look at plot.F90 in the src directory 
of the distribution, in the subroutine plot_wannier, the e^{ik.r} is 
explicitly factored in when constructing the MLWFs from the u_nk(r). I 
guess this leaves us wondering why you get the behaviour you observe.

You're right about the centres and the spreads when using library mode. 
In v1.0.2 they are just set to zero before returning to the calling 
program. This will be fixed in the next release (v1.1), which will be 
sometime next month.

As regards nnlist and nncell, yes, these are re-calculated in 
wannier_run in exactly the same way in which they are calculated in 
wannier_setup, so there is no need to pass them back as arguments.

Incidentally, what is the code to which you've interfaced Wannier90?



: Dr. Arash A. Mostofi           :: a.mostofi at imperial.ac.uk :
: Lecturer and RCUK Fellow       ::                          :
: Depts. of Materials & Physics  ::                          :
: Imperial College London        :: T  +44 (0)207 594 6753   :
: London SW7 2AZ, United Kingdom :: F  +44 (0)207 594 6757   :
:------- http://www.cmth.ph.ic.ac.uk/people/a.mostofi -------:

Jürgen Wieferink wrote:
> Hello,
> to understand the adsorption of organic molecules on silicon and
> silicon carbide surfaces I have interfaced our density functional
> code to wannier90 (v1.0.2) as a post-processing tool.  It is really
> great how little work is needed to get centres and plots of Wannier
> functions.  Nevertheless, I have a few questions I don't know where
> else to ask.
> One question at this stage: Plotting the Wannier functions only
> works when I write \psi_{n,k}(r) instead of u_{n,k}(r) to UNK000*.1.
> Is this intentional or do I do anything wrong somewhere else?
> On the long run, I want to use our own visualization methods.  So I
> need the information about the centres and the unitary
> transformations within our code.  Using the library mode seems to be
> the easiest way.  Thus, I have had a look into the source code and
> have a few questions.
> One has to provide the M_matrix to wannier_run() without an explicit
> reference to nnlist and nncell.  Do I have to rely on the fact that
> wannier90 will generate these lists in exactly the same order?  And
> secondly it seems that the centres and spreads are not really passed
> to the caller after being reset.  I could fix this for myself by
> making rave and r2ave global and passing it to wann_centres and
> friends.  Or is this fixed in a more recent release?  Or am I wrong
> anyway?
> Juergen
> --
> Juergen Wieferink
> AG Pollmann
> Institute of Solid State Physics
> University of Muenster
> _______________________________________________
> Wannier mailing list
> Wannier at quantum-espresso.org
> http://www.democritos.it/mailman/listinfo/wannier

More information about the Wannier mailing list