PoisFFT icon indicating copy to clipboard operation
PoisFFT copied to clipboard

Free parallel fast Poisson solver. Requires FFTW3 and optionally PFFT.

The PoisFFT library solves the Poisson equation on a uniform Cartesian grid using the Fast Fourier Transform. It calls the library FFTW3 and (if MPI is used) also PFFT.

The description is available in article

Vladimir Fuka: PoisFFT - a free parallel fast Poisson solver, Applied Mathematics and Computation, 2015

available online: http://dx.doi.org/10.1016/j.amc.2015.03.011 preprint: http://arxiv.org/abs/1409.8116

Please cite this article when using the library for your research.

The Poisson equation used is

\Delta \phi = b

where \phi and b are functions of 1, 2 or 3 spatial dimensions.

For instruction how to use the API after installation see usage_Fortran.txt, usage_C.txt and usage_C++.

For examples see testpoisson.f90, testpoisson.c and testpoisson.cc.

The installation is done using SConstruct, a Python based build environment, if you do not have it, you must install it first.

For compiling the library use

scons

or

scons mpi=yes

in the src directory.

For compiling of the test programs add test after the above command.

If you use other compilers than GCC (gfortran, gcc, g++), add argument comp, i.e.,

scons comp=intel

or

scons comp=sun

For other compilers you will have to add the options in the SConstruct file.

If you want to disable OpenMP, use

scons openmp=no

With MPI it is disabled automatically, but can be explicitly enabled by

scons mpi=yes openmp=yes

for hybrid MPI/OpenMP parallelization.