DormandPrince
Defined in: mod.rs:17
pub struct DormandPrinceDormand-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.
Methods
Section titled “Methods”stepper()
Section titled “stepper()”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.
step_full()
Section titled “step_full()”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 estimatek7: 7th-stage derivative (reusable as k1 of next step via FSAL)
integrate_adaptive_with_events()
Section titled “integrate_adaptive_with_events()”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.