Package ffx.numerics.fft
Class Real3DParallel
java.lang.Object
ffx.numerics.fft.Real3DParallel
Compute the 3D FFT of real, double precision input of arbitrary dimensions in parallel.
- Since:
- 1.0
- Author:
- Michal J. Schnieders
- See Also:
-
Constructor Summary
ConstructorDescriptionReal3DParallel
(int nX, int nY, int nZ, ParallelTeam parallelTeam) Initialize the FFT for real input.Real3DParallel
(int nX, int nY, int nZ, ParallelTeam parallelTeam, IntegerSchedule integerSchedule) Initialize the FFT for real input. -
Method Summary
Modifier and TypeMethodDescriptionvoid
convolution
(double[] input) Compute a convolution in parallel.void
fft
(double[] input) Compute the 3D FFT.void
ifft
(double[] input) Compute the inverse 3D FFT.static void
Test the real 3D FFT.void
setRecip
(double[] recip) Setter for the fieldrecip
.
-
Constructor Details
-
Real3DParallel
Initialize the FFT for real input.- Parameters:
nX
- X-dimension.nY
- Y-dimension.nZ
- Z-dimension.parallelTeam
- aParallelTeam
object.- Since:
- 1.0
-
Real3DParallel
public Real3DParallel(int nX, int nY, int nZ, ParallelTeam parallelTeam, @Nullable IntegerSchedule integerSchedule) Initialize the FFT for real input.- Parameters:
nX
- X-dimension.nY
- Y-dimension.nZ
- Z-dimension.parallelTeam
- The ParallelTeam that will execute the transforms.integerSchedule
- The IntegerSchedule to use.- Since:
- 1.0
-
-
Method Details
-
main
Test the real 3D FFT.- Parameters:
args
- an array ofString
objects.- Since:
- 1.0
-
convolution
public void convolution(double[] input) Compute a convolution in parallel.- Parameters:
input
- The input array must be of size (nX + 2) * nY * nZ.- Since:
- 1.0
-
fft
public void fft(double[] input) Compute the 3D FFT.- Parameters:
input
- The input array must be of size (nX + 2) * nY * nZ.- Since:
- 1.0
-
ifft
public void ifft(double[] input) Compute the inverse 3D FFT.- Parameters:
input
- The input array must be of size (nX + 2) * nY * nZ.- Since:
- 1.0
-
setRecip
public void setRecip(double[] recip) Setter for the fieldrecip
.- Parameters:
recip
- The recip array must be of size [(nX/2 + 1) * nY * nZ].
-