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.

The next few sections step through the basics of building and a module to solve a partial differential equation.


A demonstration for 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.


Often 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.jl started during the on Atmospheric and Oceanic Fluid Dynamics Meeting 2017 by Greg Wagner and Navid Constantinou. Since then various people have contributed.


The software is citable via zenodo.