fluidfft

Efficient and easy Fast Fourier Transform for Python

The fft and related operators classes are in the two subpackages

fft2d 2d Fast Fourier Transform classes (fluidfft.fft2d)
fft3d 3d Fast Fourier Transform classes (fluidfft.fft3d)

The two commands fluidfft-bench and fluidfft-bench-analysis can be used to benchmark the classes on particular cases and computers. These commands are implemented in the following modules

bench Benchmarking of fluidfft classes (fluidfft.bench)
bench_analysis Load and plot benchmarks (fluidfft.bench_analysis)

This root module provides two helper functions to import fft classes and create fft objects:

fluidfft.import_fft_class(method, raise_import_error=True)[source]

Import a fft class.

Parameters:
method : str

Name of module or string characterizing a method. It has to correspond to a module of fluidfft. The first part “fluidfft.” of the module “path” can be omitted.

raise_import_error : {True}, False

If raise_import_error == False and if there is an import error, the function handles the error and returns None.

Returns:
The corresponding FFT class.
fluidfft.create_fft_object(method, n0, n1, n2=None)[source]

Helper for creating fft objects.

Parameters:
method : str

Name of module or string characterizing a method. It has to correspond to a module of fluidfft. The first part “fluidfft.” of the module “path” can be omitted.

n0, n1, n2 : int

Dimensions of the real space array (in sequential).

Returns:
The corresponding FFT object.

Functions

create_fft_object(method, n0, n1[, n2]) Helper for creating fft objects.
import_fft_class(method[, raise_import_error]) Import a fft class.