[Wannier] Wannier functions on arbitrary grid?
Mostofi, Arash
a.mostofi at imperial.ac.uk
Tue Dec 30 13:52:37 CET 2014
Dear Tom,
When it comes to plotting the WFs, Wannier90 reads the periodic parts of the Bloch states, u_{nk}(r), on whatever grid (lattice vectors and number of grid points) that was used by underlying electronic structure code (see User Guide Sec 8.16 for the format of these “unk" files).
It then uses this information together with the optimal U-matrix that was determined by the earlier disentanglement/wannierisation procedure, to calculate the WFs on the grid via the expression for the Wannier transformation (User Guide Eq (1.1)). Because the periodicity of the WFs is not the same as that of the u_{nk}(r), the grid on which the WFs are computed is by default larger in each lattice vector dimension by a factor of two, though this can be increased by setting wannier_plot_supercell in the *.win file.
The code that deals with plotting is all in /src/plot.F90 in the main W90 distribution, specifically in the subroutine plot_wannier. Modifying the code to change the origin of the WF plot data would be relatively straightforward. To use an arbitrary number of grid-points and arbitrary lattice vectors would require some form of interpolation of the u_nk(r) data, e.g., directly in the underlying electronic structure code before the data are written or as a post-processing after they are written, and this would be somewhat less straightforward.
Note that an undocumented feature of the PWscf interface (pw2wannier90) is the logical input parameter reduce_unk. When set to true, it results in the u_{nk}(r) being written to disk on a grid that is only half as dense in each lattice vector direction than the wavefunction grid determined by the plane-wave energy cut-off. This is often good enough for smooth visualisation of WFs, but saves a lot of disk space for large calculations.
Hope this helps — and please sign off with your affiliation when posting to this list.
Arash
—
Dr Arash Mostofi — www.mostofigroup.org<http://www.mostofigroup.org>
Imperial College London
Director, Thomas Young Centre @Imperial
Assistant Director, CDT in Theory & Simulation of Materials
Warden, Wilkinson & Weeks Hall
On 21 Dec 2014, at 20:44, Tom Berlijn <tberlijn at gmail.com<mailto:tberlijn at gmail.com>> wrote:
Dear developers of Wannier90,
I would like to plot Wannier functions on an arbitrary grid defined in terms of number of grid points, origin, and 3 vectors.
If I understood correctly this is not possible in the current version of wannier90.
Would anyone be able to give advice on how the source code(s) would need to be modified for this purpose?
Thanks, Tom
_______________________________________________
Wannier mailing list
Wannier at quantum-espresso.org<mailto:Wannier at quantum-espresso.org>
http://mailman.qe-forge.org/cgi-bin/mailman/listinfo/wannier
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/wannier/attachments/20141230/2e632bf5/attachment.html>
More information about the Wannier
mailing list