Class Real3DParallel

java.lang.Object
ffx.numerics.fft.Real3DParallel

public class Real3DParallel extends Object
Compute the 3D FFT of real, double precision input of arbitrary dimensions in parallel.

Since:
1.0
Author:
Michal J. Schnieders
See Also:
  • Constructor Details

    • Real3DParallel

      public Real3DParallel(int nX, int nY, int nZ, ParallelTeam parallelTeam)
      Initialize the FFT for real input.
      Parameters:
      nX - X-dimension.
      nY - Y-dimension.
      nZ - Z-dimension.
      parallelTeam - a ParallelTeam 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

      public static void main(String[] args)
      Test the real 3D FFT.
      Parameters:
      args - an array of String 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 field recip.
      Parameters:
      recip - The recip array must be of size [(nX/2 + 1) * nY * nZ].