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
ConstructorsConstructorDescriptionReal3DParallel(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 TypeMethodDescriptionvoidconvolution(double[] input) Compute a convolution in parallel.voidfft(double[] input) Compute the 3D FFT.voidifft(double[] input) Compute the inverse 3D FFT.static voidTest the real 3D FFT.voidsetRecip(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- aParallelTeamobject.- 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 ofStringobjects.- 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].
-