コンテンツにスキップ

DormandPrince

このコンテンツはまだ日本語訳がありません。

Defined in: mod.rs:17

pub struct DormandPrince

Dormand-Prince RK5(4)7M adaptive step-size integrator.

Uses a 7-stage embedded Runge-Kutta pair. The 5th-order solution is propagated (local extrapolation); the 4th-order solution is used only for error estimation. The FSAL (First Same As Last) property allows reuse of the 7th stage derivative as the 1st stage of the next step.

fn stepper<‘a, S: DynamicalSystem>(&self, system: &‘a S, initial: ::State, t0: f64, dt: f64, tol: Tolerances) -> AdaptiveStepper<‘a, S>

Create an AdaptiveStepper for the given system and initial conditions.


fn step_full<S: DynamicalSystem>(&self, system: &S, t: f64, state: &::State, dt: f64) -> (::State, ::State, ::State)

Perform a single Dormand-Prince step with full output.

Returns (y5, error, k7) where:

  • y5: 5th-order solution (to propagate)
  • error: embedded error estimate
  • k7: 7th-stage derivative (reusable as k1 of next step via FSAL)

fn integrate_adaptive_with_events<S, F, E, B>(&self, system: &S, initial: ::State, t0: f64, t_end: f64, dt_initial: f64, tol: &Tolerances, callback: F, event_check: E) -> IntegrationOutcome<::State, B> where S: DynamicalSystem, F: FnMut(f64, &::State), E: [Fn(f64, &::State) -> ControlFlow<B>](https://doc.rust-lang.org/std/ops/function/trait.Fn.html)

Integrate adaptively with event detection and NaN/Inf checking.

Uses the Dormand-Prince RK5(4) method with automatic step-size control. The dt_initial parameter is used as the initial step size guess.