joe documentation
joe rapidly generates accurate solutions to partial differential equations for smooth real or complex scalar functions \(u(x,t)\) that depend on one spatial variable and one temporal variable.
FEATURES
-Fast, accurate numerical solutions of partial differential equations (PDEs) of the form
where \(m=1\) or \(m=2\), \(u(x,t)\) is a real- or complex-valued scalar field defined on an interval, and \(L(k)\) , \(f\) are some nice functions supplied by the user.
-Supports periodic boundary conditions as well as absorbing boundaries/sponge layers (to simulate waves going off to spatial infinity)
-Users can either call the PDE they want to simulate from a catalogue of built-in options, or define their own custom PDE.
-Easily customizable initial conditions.
-Clean, object-oriented approach to handling simulations makes post-processing (accuracy assesment) very straightforward.
-Producing publication-quality visuals is quick and easy with joe’s built-in functions: simply call the right plotting function on your simulation, tweak a few options, and you’ve got a plot or movie ready to go. Almost all the required matplotlib stuff is under the hood.
DEPENDENCIES
numpy, scipy, matplotlib, jupyter (for accessing tutorials), cmocean (https://matplotlib.org/cmocean/), alive-progress (https://pypi.org/project/alive-progress/1.0/). You may also want to download FFmpeg support for creating movies: see the joe GitHub page for tips on how to do this.
GETTING STARTED
Open up the Jupyter tutorials (https://github.com/ageorgemorgan/joe/tree/main/joe_lab/demos/tutorials) to see joe in action!
Contents: