Skip to content

Yoshida4

Defined in: yoshida.rs:78

pub struct Yoshida4

Yoshida 4th-order symplectic integrator.

Composes 3 Störmer-Verlet substeps using the triple-jump technique. 4th-order accuracy with symplectic structure preservation. Cost: 6 force evaluations per step (3 Verlet substeps × 2).

fn step<const DIM: usize, S>(&self, system: &S, t: f64, state: &State<DIM, 2>, dt: f64) -> State<DIM, 2> where S: [DynamicalSystem<State = State<DIM, 2>>](../../traits/dynamicalsystem/)


fn integrate<const DIM: usize, S, F>(&self, system: &S, initial: State<DIM, 2>, t0: f64, t_end: f64, dt: f64, callback: F) -> State<DIM, 2> where S: [DynamicalSystem<State = State<DIM, 2>>](../../traits/dynamicalsystem/), F: [FnMut(f64, &State<DIM, 2>)](https://doc.rust-lang.org/std/ops/function/trait.FnMut.html)


fn integrate_with_events<const DIM: usize, S, F, E, B>(&self, system: &S, initial: State<DIM, 2>, t0: f64, t_end: f64, dt: f64, callback: F, event_check: E) -> [IntegrationOutcome<State<DIM, 2>, B>](../../enums/integrationoutcome/) where S: [DynamicalSystem<State = State<DIM, 2>>](../../traits/dynamicalsystem/), F: [FnMut(f64, &State<DIM, 2>)](https://doc.rust-lang.org/std/ops/function/trait.FnMut.html), E: [Fn(f64, &State<DIM, 2>) -> ControlFlow<B>](https://doc.rust-lang.org/std/ops/function/trait.Fn.html)