SailFFish: A Lightweight, Parallelised Fast Poisson Solver Library

by   Joseph Saverin, et al.

A solver for the Poisson equation for 1D, 2D and 3D regular grids is presented. The solver applies the convolution theorem in order to efficiently solve the Poisson equation in spectral space over a rectangular computational domain. Conversion to and from the spectral space is achieved through the use of discrete Fourier transforms, allowing for the application of highly optimised O(NlogN) algorithms. The data structure is configured to be modular such that the underlying interface for operations to, from and within the spectral space may be interchanged. For computationally demanding tasks, the library is optimised by making use of parallel processing architectures. A range of boundary conditions can be applied to the domain including periodic, Dirichlet, Neumann and fully unbounded. In the case of Neumann and Dirichlet boundary conditions, arbitrary inhomogeneous boundary conditions may be specified. The desired solution may be found either on regular (cell-boundary) or staggered (cell-centre) grid configurations. For problems with periodic, Dirichlet or Neumann boundary conditions either a pseudo-spectral or a second-order finite difference operator may be applied. For unbounded boundary conditions a range of Green's functions are available. In addition to this, a range of differential operators may be applied in the spectral space in order to treat different forms of the Poisson equation or to extract highly accurate gradients of the input fields. The underlying framework of the solver is first detailed, followed by a range of validations for each of the available boundary condition types. Finally, the performance of the library is investigated. The code is free and publicly available under a GNU v3.0 license.


page 4

page 7

page 8


Efficient solutions for nonlocal diffusion problems via boundary-adapted spectral methods

We introduce an efficient boundary-adapted spectral method for peridynam...

cuSten -- CUDA Finite Difference and Stencil Library

In this paper we present cuSten, a new library of functions to handle th...

A fast spectral method for electrostatics in doubly-periodic slit channels

We develop a fast method for computing the electrostatic energy and forc...

DS-GPS : A Deep Statistical Graph Poisson Solver (for faster CFD simulations)

This paper proposes a novel Machine Learning-based approach to solve a P...

Spectral solver for Cauchy problems in polar coordinates using discrete Hankel transforms

We introduce a Fourier-Bessel-based spectral solver for Cauchy problems ...

FLUPS – a flexible and performant massively parallel Fourier transform library

Massively parallel Fourier transforms are widely used in computational s...

Please sign up or login with your details

Forgot password? Click here to reset