1 unstable release
0.1.0 | May 16, 2024 |
---|
#878 in Algorithms
Used in dess-examples
48KB
791 lines
dess
The Differential Equation System Solver (DESS) is a Rust crate implementing fixed-step and adaptive-step solvers and designed especially for modeling physical systems. Seven explicit ordinary differential equation (ODE) solver methods have been added so far: Euler’s, Heun’s, Midpoint, Ralston’s, Classic Runge-Kutta, Bogacki-Shampine, and Cash-Karp. These comprise five fixed-step methods and two adaptive-step methods. Few solver packages are implemented in the Rust ecosystem and none are intended specifically for physical system modeling, so the goal of DESS is to create a Rust ODE solver crate designed specifically to easily specify and model physical systems with modular, configurable solver options. In addition to allowing users to directly input equations to solve, DESS allows users to optionally specify and define relationships between nodes in their system, which the package then translates into a system of equations via the Rust macro system, leading to simpler and more intuitive code. See the dess-examples-pyo3 folder for examples how to use DESS in this manner.
Installation and Running
- Install rust
- Create and activate a Python environment, e.g. with
python3.10 -m venv dess-venv source dess-venv/bin/activate
- run
sh build_and_test.sh
or manually run the commands in that bash script file
Dependencies
~5–12MB
~143K SLoC