[Wien] GMAX, FFT-dimension, c-star, c(G) coefficients
Peter Blaha
pblaha at theochem.tuwien.ac.at
Sat Aug 23 16:24:58 CEST 2008
Sorry, but I've the feeling you do not understanding anything and we are
talking the same language!
Maybe, write down ALL the equations explicitly (maybe in 1D only), both
in a generic way, but also explicitely (at least for eg. the first 5
K-vectors). Start with the wave function, than the density and than your
problem (see below).
> I have run Silicon with different GMAX. The following list is the result of run:
>
> GMAX MINIMUM FFT-mesh in LAPW0 FFT-parameters IFFT-PARAMETERS USED number of G-vectors(for 3kpoints)
> 8 16 54 22 137,156,150
> 10 20 72 22 137,156,150
> 12 24 80 22 137,156,150
> 14 30 96 22 137,156,150
> ---------------------------------------------------------------------
> ***You said the FFT-dimension should be (2*GMAX)+1 and a multiple of 2,3,5 .
> These result are not equal to (2*GMAX)+1 and a multiple of 2,3,5. Why?
There's a GMAX in case.in2, which determines the largest G-vector. A
G-vector looks like (h 2pi/a, k 2pi/b, l 2pi/c). Thus both, the h,k,l
and the lattice parameters a,b,c determine, which G-vector has a length
below GMAX. As 2pi/a is not necessarily close to 1, there will be a
h-max, k-max, l-max which fits to a certain GMAX, but usually h-max does
not have the same value as GMAX. I called the largest G-vectors sloppy
"Gmax" vector, meaning actually the h-max,.... values. Your FFT grid
must then go to - h-max .... 0 ... h-max, i.e. 2*h-max+1 (for the 1st
dimension), since you will have a vector with h-max and another one with
-h-max.
multiple of 2,3,5 is an algorithmic constrain of the FFT routines. The
factorization is implemented only for the first few prime numbers, often
only 2 is even implemented.
>
> ***another problem is the number of c-star coefficients or the number of G-vectors in case.output1 . I expected the number of c-star coefficients change when I change GMAX. but they are fixed! Why?
It seems you mix vectors for the wave function expansion and vectors for
the charge density expansion. These are of course all reciprocal lattice
vectors, but I usually call the vectors for the wavefunction (output1)
"K-vectors" (note: capital K!! while k refers to a vector within the
first BZ), for the density G-vectors.
The number of K-vectors do of course NOT depend on GMAX (set in
case.in2), but on RKmax (set in case.in1). Find out yourself what RKmax is.
>
> ***Since my problem is extracting the c(G) coefficients (without symmetry) and I couldn't extract them form WIEN2k, I'm trying to find a relation between the number of c-star coefficients and FFT-dimension and symmetry operations in order to write a program which be able to take c-star coefficients as input and gives all c-coefiicients (without symmetry) as output. Is it feasible?
Again I'm not sure what a c(G) coefficient is in your definitions. If
its from the wavefunction, than you get it from case.vector (or
case.output1 with limited accuracy). And they are without symmetry anyway.
You really need to understand in detail how the density is calculated in
the interstital, than your problem (product of two different
wavefunctions instead of just the product of a wf. with itself) is easy.
The other step is how to get the step-function into the resulting
Fourier series, and this is done in lapw0 as explained before.
Combining these two steps should be fairly easy.
Of course you have to write a program yourself, but it could consist to
a large extend of subroutines discussed before.
Also study the input and description of lapw0 (case.in0) to understand
how you can influence the IFFT parameters.
--
-----------------------------------------
Peter Blaha
Inst. Materials Chemistry, TU Vienna
Getreidemarkt 9, A-1060 Vienna, Austria
Tel: +43-1-5880115671
Fax: +43-1-5880115698
email: pblaha at theochem.tuwien.ac.at
-----------------------------------------
More information about the Wien
mailing list