FourierFlows.jl Documentation


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.

For more examples of FourierFlows.jl in action, see the child packages GeophysicalFlows.jl or PassiveTracerFlows.jl.


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.


FourierFlows is currently being developed by Gregory L. Wagner and Navid C. Constantinou.


The code is citable via zenodo.