[Pw_forum] FFT - Help

aritz leonardo aritz.leonardo at ehu.eus
Tue Mar 3 16:38:16 CET 2015


Thank you very much for the reply Paolo.

a) Yes you are right, I forgot to type the lattice vectors in the 
expression for r.

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:

1) nr1=nr2=nr3=24 --> 24**3= 13824 points in the real space box
2) "gvectors.dat" has a list of 3119 G vectors within the sphere of 
radius 4*Ecut.
As FFT works on a regular grid, i.e. a BOX of nr1 x nr2 x nr3 points, 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.

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. *Would it be correct to use the following brute 
force definition **of**the slides?*


u(m1,m2,m3)=\sum_{h,l,k} u(h,l,k) exp**(i*2pi*(h*m1/nr1 + l*m2/nr2 + 
k*m3/nr3))

where *G = h*b_1 + l*b_2 + k*b_3* with (h,l,k) index are taken as they 
are written in "gkvectors.dat", i.e. including negative values that 
represent the sphere and *r= m1*a_1/nr1+m2*a_2/nr2+m3*a_3/nr3 *belong to 
the box. I mean without using FFT.


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 
*rho{n,n'}_{k,k}(r)=**u^{*}_{k,n}(m1,m2,m3) x u_{k,n'}(m1,m2,m3)* at 
different bands.

Thank you in advance and sorry for the terribly long email
aritz



On 03/02/2015 06:28 PM, Paolo Giannozzi wrote:
> On Tue, 2015-02-24 at 19:08 +0100, Aritz Leonardo Liceranzu wrote:
>
>> 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
> 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
>
>> 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.
> 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
>
>> 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
>> Pw_forum at pwscf.org
>> http://pwscf.org/mailman/listinfo/pw_forum

-- 

============================================================
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: aritz.leonardo at ehu.es       Phone: +34-946015338
============================================================

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20150303/910c1ae2/attachment.html>


More information about the users mailing list