Node:ZFFT3D, Next:, Previous:3D FFT, Up:3D FFT



ZFFT3D Routine Documentation

ZFFT3D (MODE,L,M,N,X,COMM,INFO) SUBROUTINE
INTEGER MODE Input
The value of MODE on input determines the direction of transform to be performed by ZFFT3D.
On input:
  • MODE=-1 : forward 3D transform is performed.
  • MODE=1 : backward (reverse) 3D transform is performed.

INTEGER L Input
On input: the length of the first dimension of the 3D array of data to be transformed. If X is declared as a 3D array then L is the first dimension of X.

INTEGER M Input
On input: the length of the second dimension of the 3D array of data to be transformed. If X is declared as a 3D array then M is the second dimension of X.

INTEGER N Input
On input: the length of the third dimension of the 3D array of data to be transformed. If X is declared as a 3D array then N is the third dimension of X.

COMPLEX*16 X(L*M*N) Input/Output
On input: X contains the L by M by N complex 3D array to be transformed. Element ijk is stored in location i+(j-1)*L+(k-1)*L*M of X.
On output: X contains the transformed sequence.

COMPLEX*16 COMM(L*M*N+3*(L+M+N)) Input/Output
COMM is a communication array used as temporary store.

INTEGER INFO Output
On output: INFO is an error indicator. On successful exit, INFO contains 0. If INFO = -i on exit, the i-th argument had an illegal value.

     Example:
             CALL ZFFT3D(-1,L,M,N,X,COMM,INFO)
             DO 30 K = 1, N
               DO 20 J = 1, M
                 DO 10 I = 1, L
                   X(I,J) = X(I,J)*EXP(-0.001D0*DBLE(I+J+K))
        10       CONTINUE
        20     CONTINUE
        30   CONTINUE
             CALL ZFFT3D(1,L,M,N,X,COMM,INFO)