Crate damndiff

source ·
Expand description

Rust library to efficiently handle inital valued problems with numerical methods. Thanks to April Rains for inspiring the name.

§Download

To build with damn-differential you need to add the library to your project as a dependency. In your terminal run:

cargo add damn-diff

§Example

To numerically solve an IVP:

  • implement the appropriate trait to your ODE;
  • define the solver;
  • select the adeguate method based on your IVP.

For example:

struct MyODE;
impl ODE for MyODE {
    fn eval(&self, x: f64, y: f64) -> f64 {
        // Define the ODE equation, for instance: dy/dx = x + y
        x + y
    }
}

let solver = ODESolver;
let my_ode = MyODE;
let x0 = 0.0;
let y0 = 1.0;
let h = 0.1;
let x_target = 1.0;

let result = solver.rk4_ivp(&my_ode, x0, y0, h, x_target);
println!("Solution at x = {}: {}", x_target, result);

Modules§

  • Ordinary differential equation
  • Systems of ordinary differential equations