1 unstable release

0.1.0 Apr 13, 2024

#1198 in Algorithms

Download history 26/week @ 2024-04-07 51/week @ 2024-04-14

77 downloads per month
Used in dess-examples

BSD-3-Clause

46KB
791 lines


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.

Dependencies

~5–13MB
~140K SLoC