I have a 3-dimensional array U(z,y,x) and I want to perform a complex Fourier transform in z for all values of y and x. I am planning to use the FFTW library. I figured out from the FFTW manual that there is a way to perform multiple 1d transforms at once(mentioned below).
CALL dfftw_plan_many_dft(PLAN, rank, n, howmany, in, inembed, istride, idist, out, onembed, ostride, odist, FFTW_MEASURE)
I don't clearly understand what inembed
and outembed
means. Could you provide more insight into this as I am new to Fortran and I am not entirely sure how to use this?
EDIT1: updated the Fortran code