Skip to content

Commit

Permalink
#30 update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
martinjrobins committed Apr 16, 2024
1 parent 6fff2e0 commit fc38e41
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
13 changes: 8 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,14 @@ implementing the various vector and matrix traits in diffsol.

## Features

DiffSol has two implementations of the Backward Differentiation Formula
(BDF) method, one in pure rust, the other wrapping the [Sundials](https://github.com/LLNL/sundials) IDA solver.
This method is a variable step-size implicit method that is suitable for
stiff ODEs and semi-explicit DAEs and is similar to the BDF method in MATLAB's
`ode15s` solver or the `bdf` solver in SciPy's `solve_ivp` function.
DiffSol implements the following solvers:
- A variable order Backwards Difference Formulae (BDF) solver, suitable for stiff problems and singular mass matrices.
- A Singly Diagonally Implicit Runge-Kutta (SDIRK or ESDIRK) solver, suitable for moderately stiff problems and singular mass matrices. You can use your own butcher tableau or use one of the provided (`tr_bdf2` or `esdirk23`).
- A BDF solver that wraps the IDA solver solver from the [Sundials library](https://github.com/LLNL/sundials) (requires the `sundials` feature). This is similar to the BDF solver above and is include for comparison purposes.

All solvers feature adaptive step-size control to given tolerances, and dense output.
For comparison, the BDF solvers are similar to MATLAB's `ode15s` solver or the `bdf` solver in SciPy's `solve_ivp` function.
The ESDIRK solver using the provided `tr_bdf2` tableau is similar to MATLAB's `ode23t` solver.

Users can specify the equations to solve in the following ODE form:

Expand Down
5 changes: 3 additions & 2 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@
//! [Matrix] trait. You can also use the [sundials](https://computation.llnl.gov/projects/sundials) library for the matrix and vector types (see [SundialsMatrix]).
//!
//! To solve the problem, you need to choose a solver. DiffSol provides the following solvers:
//! - A pure rust Backwards Difference Formulae [Bdf] solver, suitable for stiff problems and singular mass matrices.
//! - The IDA solver solver from the sundials library ([SundialsIda], requires the `sundials` feature).
//! - A Backwards Difference Formulae [Bdf] solver, suitable for stiff problems and singular mass matrices.
//! - A Singly Diagonally Implicit Runge-Kutta (SDIRK or ESDIRK) solver [Sdirk]. You can use your own butcher tableau using [Tableau] or use one of the provided ([Tableau::tr_bdf2], [Tableau::esdirk23]).
//! - A BDF solver that wraps the IDA solver solver from the sundials library ([SundialsIda], requires the `sundials` feature).
//!
//! See the [OdeSolverMethod] trait for a more detailed description of the available methods on each solver.
//!
Expand Down

0 comments on commit fc38e41

Please sign in to comment.