joe-lab
A library for solving PDEs with Fourier spectral discretization in space and high-order time-stepping.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.5%) to scientific vocabulary
Repository
A library for solving PDEs with Fourier spectral discretization in space and high-order time-stepping.
Basic Info
- Host: GitHub
- Owner: ageorgemorgan
- License: mit
- Language: Jupyter Notebook
- Default Branch: main
- Homepage: http://joe-lab.rtfd.io/
- Size: 11.9 MB
Statistics
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
joe
A library for solving partial differential equations for real or complex scalar functions $u(x,t)$ that depend on one spatial variable and one temporal variable. joe uses Fourier-based discretization in space and high-order exponential time-stepping to rapidly and precisely solve initial-value problems.
pip install joe-lab==0.0.6
FEATURES
-Fast, accurate numerical solutions of partial differential equations (PDEs) of the form
$\partial{t}^m u +L\left(\frac{1}{i}\partial{x}\right)u + f(x,t,u,u{x},u{t},u{xx},u{xt}...) = 0,$
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, cmocean (https://matplotlib.org/cmocean/), alive-progress (https://pypi.org/project/alive-progress/). You may also want to download FFmpeg support for creating movies: I recommend using the PyAV package (https://pypi.org/project/av).
GETTING STARTED
Open up the Jupyter tutorials (https://github.com/ageorgemorgan/joe/tree/main/joe_lab/demos/tutorials) to see joe in action!
Currently getting FFmpeg support is a bit of a tough one and it does not auto-install when you install joe. I recommend using conda, installing joe in a conda environment, and then (on Ubuntu) using conda to install PyAV via
conda install av
or
conda install av -c conda-forge
If you're using Mac OS, the command below may work better:
conda install x264 ffmpeg -c conda-forge
If you have questions, please see the documentation at http://joe-lab.rtfd.io/ .
FUTURE DIRECTIONS
-Get support for movies on install without installing further packages!
-Add functionality for fields defined on 2D domains
-Time-step adaptivity
-Allow for higher-order-derivatives in time (ie. Timoshenko beam equations)
** see also https://pypi.org/project/joe-lab **
Owner
- Name: Adam George Morgan
- Login: ageorgemorgan
- Kind: user
- Company: University of Toronto
- Repositories: 3
- Profile: https://github.com/ageorgemorgan
PhD student in math at University of Toronto. Interested in numerical methods for PDE, optimization, and (learning!) mathematical finance.
Citation (citation.cff)
cff-version: 0.0.2
authors:
- family-names: Morgan
given-names: Adam George
title: "joe: a package for solving partial differential equations with Fourier spectral discretization in space and high-order exponential time-stepping"
GitHub Events
Total
- Push event: 3
Last Year
- Push event: 3
Packages
- Total packages: 1
-
Total downloads:
- pypi 55 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 7
- Total maintainers: 1
pypi.org: joe-lab
A package for solving 1+1-dimensional PDEs quickly and accurately with Fourier spectral discretization in space and high-order time-stepping.
- Homepage: https://github.com/ageorgemorgan/joe
- Documentation: https://joe-lab.readthedocs.io/
- License: MIT License
-
Latest release: 0.0.6
published over 1 year ago