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:
methodstr

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:
methodstr

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, n2int

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.