### 1 unstable release

0.1.0 | May 16, 2024 |
---|

#**761** in Algorithms

Used in dess-examples

**BSD-3-Clause**

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

or manually run the commands in that bash script file`sh build_and_test.sh`

#### Dependencies

~6–13MB

~164K SLoC