FourierFlows provides a framework to write solvers for partial differential equations on periodic domains with Fourier-based pseudospectral methods that run seamlessly on CPUs and GPUs. We support 1-, 2-, and 3-dimensional domains.
At the moment we have a lot of modules for solving PDEs related geophysical settings but it's easy to generalize to other PDEs.
An example demonstrating how to code up and solve the linear shallow water equations is found in the Examples section of the documentation.
Oftentimes unicode symbols appear in modules for variables or parameters. For example,
κ appears as the diffusivity in the
Diffusion module. Unicode symbols can be entered in the Julia REPL by typing, e.g.,
\kappa followed by
tab key. Read more about Unicode symbols in the Julia Documentation.
The code is citable via zenodo.