[Wannier] Wannier functions in real space. (Jonathan Yates)
oarcelus at hotmail.com
Wed Feb 15 15:05:10 CET 2017
>> Hi forum,
>> I am trying to calculate the matrix elements of a LDA xc-potential in the wannier basis. The thing that comes to my mind is to take the wannier functions in a real grid that spans all the unit cell W(r), then get the xc-potential in that same grid and compute the values W(r1)* x V(r1) x W'(r1) for all r1 grid points in the unit cell. This would give me the matrix elements. However I encounter somre problems, the first one is obtaining the W(r).
>> For this I just get W(r) with the seedname_00*.xsf XCrysDen files. But there are some problems, for some reason the centering of the real cell with the ones that contain the volumetric data is quite odd, looks like the lattice parameters are not totally the same, and when changin the file by hand the wannier functions get a bit shifted from the atomic centers. Another problem is that those files chop the wannier functions at the borders of the cell, and do not allow to those functions appear in the opposite site of the unit cell (due to periodic boundary conditions).
>Plotting isn?t perhaps the most elegant feature of Wannier90. In part because we initially hoped the plotting would be done in the parent electronic structure code.
>If you haven?t already, look at the xsf spec
XCrySDen - (X-Window) Crystalline Structures and Densities<http://www.xcrysden.org/doc/XSF.html>
Specification of the XSF Format Introduction to XSF format The XSF format is internal XCrySDen structure format. XSF stands for XCrySDen Structure File.
>One potential source of confusion is that xsf uses ?General? grids, rather than periodic grids - so the first data point is repeated at the end.
>Also look at the keyword wannier_plot_supercell which controls the size of the supercell in which the unit cell is plotted.
>Wannier90 can also plot cube files - and this might make more sense for you. Look at the wannier_plot_radius keyword. One issue is that the code will only allow you to use cube format for orthorhombic unit cells. (I think >because most cube readers don?t handle non-orthorhombic grids). However, given you just want the data you could try removing the check in parameters.F90 (c. line 1960) and see what happens. It also shouldn?t be >difficult to adapt the code in plot.F90 to write out the WF in a format that suits you.
>I hope that gives you a few things to investigate, and come back to us if something is still puzzling
As you told me, Jonathan, I modified the code a little bit to plot the wannier functions in the format I needed. I keep getting the same problem, the wannier functions in a real-space grid don't take into account the periodic boundary conditions needed to make the tails of the wannier functions that 'escape' from the home unit cell re-appear on the oppossite sides of the cell. I'm particularly referring to the variable wann_func(:,:,:,:) as it get's out from the computation in line 1037 in the module plot.F90.
Is there a way of doing this? Maybe I am missing some other grid representation of wannier functions with PBC's that appear somewhere else in the program. At this point I'm affraid I will have to get a 3x3x3 supercell, center my home cell in the middle unit cell and translate any point that escapes from certain boundaries back to the middle cell. But of course I would like to avoid this and make it more elegant.
Any suggestion would be pretty much appreciated,
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Wannier