Skip to main content

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.

Metadata

Release files for numerous-solver 3.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for numerous-solver 3.1.1
File Size Uploaded
numerous-solver-3.1.1.tar.gz 39.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for numerous-solver 3.1.1
File Interpreter ABI Platform
numerous_solver-3.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 88.1 kB

Release files / numerous-solver-3.1.1.tar.gz

Download URL numerous-solver-3.1.1.tar.gz
Size 39.8 kB
Tags Source
SHA-256 checksum
How to use checksums
35fee338c4245d318af76e516f22dc547561b4119b24df5943f4726018f1598b
BLAKE2b-256 checksum
How to use checksums
e221e9d2bc17fea8ef497b7fa9a5b5c66034244389879495559e20662521a63b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.13

Release files / numerous_solver-3.1.1-py3-none-any.whl

Download URL numerous_solver-3.1.1-py3-none-any.whl
Size 48.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0ec643c13a7d1302a734ecbdc977ec008bc88592b6768f6736e66b56ad132d54
BLAKE2b-256 checksum
How to use checksums
84ddafe08cc725c986e58bbc320380d4091fae6dc90bc4e26cea8113dc5ca679
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.13
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page