[gpaw-users] problems with ase.wannier

Jens Jørgen Mortensen jensj at fysik.dtu.dk
Thu May 10 07:50:40 CEST 2012


On 08-05-2012 14:35, Torsten Hahn wrote:
> <snip>
>> The error occurs only if i set "mode='lcao'" in the calculator. In fd-
>> mode everything is fine. Is there a workaround?
>
> Not a simple workaround.  It would be relatively simple to implement
> this if someone is interested in doing the work.
>
> Jens Jørgen
>
>
> ... why not, if you help me where the problem comes from i can spent some time on this issue.

Great!  The matrix elements needed for the Wannier functions are 
calculated in aseinterface.py:

         # Get pseudo part
         Z_nn = self.wfs.gd.wannier_matrix(kpt_u[u].psit_nG,
                                           kpt_u[u1].psit_nG, G_c, nbands)

but this was written when GPAW's wave functions were always on a uniform 
grid in real-space.  I think the way forward it to replace this with:

         Z_nn = self.wfs.wannier_matrix(u, u1, G_c, nbands)

and have one implementation in wavefunctions/fd.py and another one in 
wavefunctions/lcao.py that transforms the LCAO coefficients to a 
real-space grid.

The fd one would be something like:

     def wannier_matrix(self, u, u1, G_c, nbands):
         return self.gd.wannier_matrix(self.kpt_u[u].psit_nG,
                       self.kpt_u[u1].psit_nG, G_c, nbands)

and the lcao one would make use of self.basis_functions.lcao_to_grid().

How does that sound?  Don't hesitate to ask for more help here or on IRC.

Jens Jørgen

> Best regards,
> Torsten.
> _______________________________________________
> gpaw-users mailing list
> gpaw-users at listserv.fysik.dtu.dk
> https://listserv.fysik.dtu.dk/mailman/listinfo/gpaw-users



More information about the gpaw-users mailing list