FixedStepExplicit

Trait FixedStepExplicit 

Source
pub trait FixedStepExplicit<Y, U>
where Self: Explicit<Y, U> + FixedStep, Y: Tensor, U: TensorVec<Item = Y>,
{ // Required method fn step( &self, function: impl FnMut(Scalar, &Y) -> Result<Y, String>, y: &Y, t: Scalar, dt: Scalar, k: &mut [Y], y_trial: &mut Y, ) -> Result<(), String>; // Provided method fn integrate_fixed_step( &self, function: impl FnMut(Scalar, &Y) -> Result<Y, String>, time: &[Scalar], initial_condition: Y, ) -> Result<(Vector, U, U), IntegrationError> { ... } }
Expand description

Fixed-step explicit ordinary differential equation solvers.

Required Methods§

Source

fn step( &self, function: impl FnMut(Scalar, &Y) -> Result<Y, String>, y: &Y, t: Scalar, dt: Scalar, k: &mut [Y], y_trial: &mut Y, ) -> Result<(), String>

Provided Methods§

Source

fn integrate_fixed_step( &self, function: impl FnMut(Scalar, &Y) -> Result<Y, String>, time: &[Scalar], initial_condition: Y, ) -> Result<(Vector, U, U), IntegrationError>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<Y, U> FixedStepExplicit<Y, U> for BogackiShampine
where Self: OdeSolver<Y, U>, Y: Tensor, for<'a> &'a Y: Mul<Scalar, Output = Y> + Sub<&'a Y, Output = Y>, U: TensorVec<Item = Y>,

Source§

impl<Y, U> FixedStepExplicit<Y, U> for DormandPrince
where Self: OdeSolver<Y, U>, Y: Tensor, for<'a> &'a Y: Mul<Scalar, Output = Y> + Sub<&'a Y, Output = Y>, U: TensorVec<Item = Y>,

Source§

impl<Y, U> FixedStepExplicit<Y, U> for Euler
where Self: OdeSolver<Y, U>, Y: Tensor, for<'a> &'a Y: Mul<Scalar, Output = Y>, U: TensorVec<Item = Y>,

Source§

impl<Y, U> FixedStepExplicit<Y, U> for Heun
where Self: OdeSolver<Y, U>, Y: Tensor, for<'a> &'a Y: Mul<Scalar, Output = Y> + Add<&'a Y, Output = Y>, U: TensorVec<Item = Y>,

Source§

impl<Y, U> FixedStepExplicit<Y, U> for Midpoint
where Self: OdeSolver<Y, U>, Y: Tensor, for<'a> &'a Y: Mul<Scalar, Output = Y>, U: TensorVec<Item = Y>,

Source§

impl<Y, U> FixedStepExplicit<Y, U> for Ralston
where Self: OdeSolver<Y, U>, Y: Tensor, for<'a> &'a Y: Mul<Scalar, Output = Y> + Add<Y, Output = Y>, U: TensorVec<Item = Y>,