pub trait SymplecticIntegrator<F: IntegrateFloat> {
// Required method
fn step(
&self,
system: &dyn HamiltonianFn<F>,
t: F,
q: &Array1<F>,
p: &Array1<F>,
dt: F,
) -> IntegrateResult<(Array1<F>, Array1<F>)>;
// Provided method
fn integrate(
&self,
system: &dyn HamiltonianFn<F>,
t0: F,
tf: F,
dt: F,
q0: Array1<F>,
p0: Array1<F>,
) -> IntegrateResult<SymplecticResult<F>> { ... }
}Expand description
Trait for symplectic integrators