Codebase release 0.5 for FFTArray, by Stefan J. Seckmeyer, Christian Struckmann, Gabriel Müller, Jan-Niclas Kirsten-Siemß, Naceur Gaaloul
SciPost Physics Codebases Home Authoring Refereeing Submit a manuscript About Codebase release 0.5 for FFTArray Stefan J. Seckmeyer, Christian Struckmann, Gabriel Müller, Jan-Niclas Kirsten-Siemß, Naceur Gaaloul SciPost Phys. Codebases 66-r0.5 (2026) · published 16 March 2026 doi: 10.21468/SciPostPhysCodeb.66-r0.5 publication repo live repo (external) BiBTeX RIS Submissions/Reports This Publication is part of a bundle When citing, cite all relevant items (e.g. for a Codebase, cite both the article and the release you used). DOI Type Published on 10.21468/SciPostPhysCodeb.66 Article 2026-03-16 10.21468/SciPostPhysCodeb.66-r0.5 Codebase release 2026-03-16 Abstract Partial differential equations describing the dynamics of physical systems rarely have closed-form solutions. Fourier spectral methods, which use Fast Fourier Transforms (FFTs) to approximate solutions, are a common approach to solving these equations. However, mapping Fourier integrals to discrete FFTs is not straightforward, as the selection of the grid as well as the coordinate-dependent phase and scaling factors require special care. Moreover, most software packages that deal with this step integrate it tightly into their full-stack implementations. Such an integrated design sacrifices generality, making it difficult to adapt to new coordinate systems, boundary conditions, or problem-specific requirements. To address these challenges, we present FFTArray, a Python library that automates the general discretization of Fourier transforms. Its purpose is to reduce the barriers to developing high-performance, maintainable code for pseudo-spectral Fourier methods. Its interface enables the direct translation of textbook equations and complex research problems into code, and its modular design scales naturally to multiple dimensions. This makes the definition of valid coordinate grids straightforward, while coordinate grid specific corrections are applied with minimal impact on computational perf