<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Thank you very much for the reply Paolo.<br>
    <br>
    a) Yes you are right, I forgot to type the lattice vectors in the
    expression for r.<br>
    <br>
    b) Let me put an example so I can make the question clearer. I have
    calculated zincblende GaN  ground state orbitals. The output of the
    calculation is as follows:<br>
    <br>
    1) nr1=nr2=nr3=24 --> 24**3= 13824 points in the real space box<br>
    2) "gvectors.dat" has a list of 3119 G vectors within the sphere of
    radius 4*Ecut.<br>
    As FFT works on a regular grid, i.e. a BOX of nr1 x nr2 x nr3 points<font
      face="sans-serif">, we take the smallest possible BOX that
      contains the SPHERE. The difference between 13824 and 3119 I guess
      it will be filled with zeros and nl(:) is the responsible of
      mapping the sphere into the BOX.<br>
      <br>
      3) Now, if my aim is to fourier transform to real space a
      particular orbital, let's say u_(k,n), where (k,n) are wave-vector
      and band index respectively. As the expansion of the orbital in G
      vectors is much smaller, the file "gkvectors.dat" pointing to
      gvectors.dat has only around 400 elements. <b>Would it be correct
        to use the following brute force definition </b><b>of</b><b>
        the slides?</b><br>
      <br>
      <br>
      u(m1,m2,m3)=\sum_{h,l,k} u(h,l,k) exp**(i*2pi*(h*m1/nr1 + l*m2/nr2
      + k*m3/nr3))<br>
      <br>
      where </font><b>G = h*b_1 + l*b_2 + k*b_3</b>
    <font face="sans-serif">with (h,l,k) index are taken as they are
      written in "gkvectors.dat", i.e. including negative values that
      represent the sphere and  </font><b>r=
      m1*a_1/nr1+m2*a_2/nr2+m3*a_3/nr3
    </b>belong to the box. I mean without using FFT.<br>
    <br>
    <br>
    4) One last question, is there an easy way (a postprocessing tool)
    that fourier transforms the wavefunction once the calculation has
    finished and is collected? I guess it is done when you ask the PP
    code to plot n(r). If you could please address me a subroutine that
    does this job, I might be able to use it as a guidance for
    calculating what I really need: the fourier transform of density
    matrix <b>rho{n,n'}_{k,k}(r)=</b><b>u^{*}_{k,n}(m1,m2,m3) x
      u_{k,n'}(m1,m2,m3)</b> at different bands.<br>
    <br>
    Thank you in advance and sorry for the terribly long email<br>
    aritz<br>
    <br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 03/02/2015 06:28 PM, Paolo Giannozzi
      wrote:<br>
    </div>
    <blockquote
      cite="mid:1425317312.17852.37.camel@fe12lx.fisica.uniud.it"
      type="cite">
      <pre wrap="">On Tue, 2015-02-24 at 19:08 +0100, Aritz Leonardo Liceranzu wrote:

</pre>
      <blockquote type="cite">
        <pre wrap="">So if I understood correctly once the Ecutoff is set, the file
"gvectors.dat" contains the complete list of G vectors inside the
sphere with a radius 4*Ecut where magnitudes such like density can be
safely represented.

Starting from here, how is the real-space grid generated? I ask this
because for my particular calculation there are around 3000 G
different vectors for a real space grid that has nr1=nr2=nr3=24
points.

according to the definition:
r= (i-1)/nr1+(j-1)/nr2+(k-1)/nr3
</pre>
      </blockquote>
      <pre wrap="">
r= (i-1)*a_1/nr1+(j-1)*a_2/nr2+(k-1)*a_3/nr3, where a_1, a_2, a_3 are
the three vectors that generate the lattice

</pre>
      <blockquote type="cite">
        <pre wrap="">The real space grid is denser than the reciprocal grid, so there has
to be some kind of mapping from one to each other that I am missing.
According to the above transparencies both grids should have equal
amount of points. 
</pre>
      </blockquote>
      <pre wrap="">
G = h*b_1 + k*b_2 + k*b_3, where b_1, b_2, b_3 are the three vectors 
that generate the reciprocal lattice. Negative indices (h,k,l) are
refolded to positive one atthe other end of the FFT box. The
correspondence between G vectors and (j,k,l) indices is provided 
by array "nl"

Paolo

</pre>
      <blockquote type="cite">
        <pre wrap="">I could still do (i think) brute force transformations using the
forward and inverse transformations defined in transparency 5 but I if
wanted to use fftw in order to be more efficient, shouldn't they be
the same in size?

As I said, I would appreciate if somebody could address me a reference
or notes to read where these issues are explained. Thanks! 


_______________________________________________
Pw_forum mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Pw_forum@pwscf.org">Pw_forum@pwscf.org</a>
<a class="moz-txt-link-freetext" href="http://pwscf.org/mailman/listinfo/pw_forum">http://pwscf.org/mailman/listinfo/pw_forum</a>
</pre>
      </blockquote>
      <pre wrap="">
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 

============================================================
Aritz Leonardo Liceranzu
Department of Applied Physics II,
Faculty of Science and Technology,
University of the Basque Country (UPV/EHU)
Bº Sarriena s/n, 48940 Leioa, Spain


Mail: <a class="moz-txt-link-abbreviated" href="mailto:aritz.leonardo@ehu.es">aritz.leonardo@ehu.es</a>       Phone: +34-946015338
============================================================ </pre>
  </body>
</html>