The following parameters are used (they are collected in file param.inc, except the IFFxx parameters, which are in lapw0.f):
IFFT1 parameters of 3-dimensional array for fast Fourier transform (FFT)
IFFT2
IFFT3
NATO number of inequivalent atoms
NCOM number of LM components in charge density and potential
representation; it must satisfy the following condition:
NCOM+3 .gt. [number of L,M with M=0] + [2 * number of L,M
with M>0]
NDIF total number of atoms per unit cell
NRAD number of radial mesh points
NSTD defines the angular grid points used in fit for xc-potential
inside spheres
LMAX1D defines the angular grid points used in fit for xc-potential
inside spheres
LMAX2 highest L in in LM expansion of charge and potential
NSYM order of point group
NWAV number of stars in Fourier series of density and potential
In order to bring about a sort of dynamical dimensioning, arrays for the FFT are defined in the main program allocating storage space, which is passed to subroutines where the arrays are used with the actual parameters (computed at run-time in IFFLIM); the latter are labeled IFF1, IFF2, IFF3 (omitting T). Therefore the following global conditions must be satisfied:
the IFFi must be .ge.[ Kmax(i) component +1]*2, where Kmax(i)represents the largest h,k,l components in the Fourier series they must be multiples of 2, 3, or 5;
IFFT1*IFFT2*IFFT3 .ge. IFF1*IFF2*IFF3
IFFT1+IFFT2+IFFT3 .ge. MAX(IFF1,IFF2,IFF3)