Numerous ODE solver
Project description
A jitable object-oriented ODE solver for numerical simulations
Overview:
Numerous solver is a fast, jitable, highly customizable, and object-oriented ODE (ordinary differential equations) solver.
How to get started
Install the package via pip install numerous-solver
, or clone the
git repository and install using the setup.py
file.
Documentation
Please see the gitlab pages site for documentation.
Design philosophy
The numerous solver
is the choice of ODE (ordinary differential equations) solver for numerous engine
(https://github.com/fossilfree/numerous). It is developed following a set of principles:
- Object-oriented: A python-based solver should take advantage of the class structure of python. Numerous solver uses "models" and "interfaces" to manage the state-flow between the numerical model and the numerical solver.
- Customizable: Using "solver events", the solver can be customized to break the solver loop in order to read external data, save outputs to database, print status messages etc. This allows a great degree of customization.
- Support time- and state-events: Built-in support for time- and state-events to support advanced models, controllers and physics discontinuities.
- Jitable:
Numerous solver
may be compiled with numba (https://numba.pydata.org/) to, in some cases, increase speed. The build-in toolchain can assist the user to write (njit) compilable models. - Extendable: Numerous solver currently supports 3 methods (RK45, BDF, Euler) and can be extended with new solve methods.
- Open-source: The code base is open for contributions.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
numerous-solver-1.4.0a1.tar.gz
(33.5 kB
view hashes)
Built Distribution
Close
Hashes for numerous_solver-1.4.0a1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d6aedbe0b11795e6ff51c8a008cf4428c1febfb1298c7586f013b7968414a01 |
|
MD5 | 85112022c7b76e301241d60253c1de06 |
|
BLAKE2b-256 | c89dd4e965992034633b958b8838b91bfa8eecdf49585db903e0a3c4457f65bb |