Skip to main content

ImplicitDaeVariableStepExplicit

Trait ImplicitDaeVariableStepExplicit 

Source
pub trait ImplicitDaeVariableStepExplicit<Y, U, V, T = Time>
where Self: VariableStepExplicit<Y, U, V, T>, Y: Differentiate<T> + Tensor, Derivative<Y, T>: Mul<Quantity<T>, Output = Y>, U: TensorVec<Item = Y>, V: TensorVec<Item = Derivative<Y, T>>, T: UnitInv, for<'a> &'a Y: Mul<Scalar, Output = Y> + Mul<Quantity<<T as UnitInv>::Output>, Output = Derivative<Y, T>> + Sub<&'a Y, Output = Y>, for<'a> &'a Derivative<Y, T>: Mul<Scalar, Output = Derivative<Y, T>> + Mul<Quantity<T>, Output = Y>,
{ // Provided methods fn integrate_implicit_dae_variable_step( &self, evolution: impl FnMut(Quantity<T>, &Y, &Derivative<Y, T>) -> Result<Derivative<Y, T>, String>, time: &[Quantity<T>], initial_condition: Y, ) -> Result<(Times<T>, U, V), IntegrationError> { ... } fn interpolate_implicit_dae_variable_step( &self, evolution: impl FnMut(Quantity<T>, &Y, &Derivative<Y, T>) -> Result<Derivative<Y, T>, String>, time: &Times<T>, tp: &Times<T>, yp: &U, dydtp: &V, ) -> Result<(U, V), IntegrationError> { ... } }
Expand description

Variable-step explicit integrators for implicit differential-algebraic equations.

Provided Methods§

Source

fn integrate_implicit_dae_variable_step( &self, evolution: impl FnMut(Quantity<T>, &Y, &Derivative<Y, T>) -> Result<Derivative<Y, T>, String>, time: &[Quantity<T>], initial_condition: Y, ) -> Result<(Times<T>, U, V), IntegrationError>

Source

fn interpolate_implicit_dae_variable_step( &self, evolution: impl FnMut(Quantity<T>, &Y, &Derivative<Y, T>) -> Result<Derivative<Y, T>, String>, time: &Times<T>, tp: &Times<T>, yp: &U, dydtp: &V, ) -> Result<(U, V), IntegrationError>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<I, Y, U, V, T> ImplicitDaeVariableStepExplicit<Y, U, V, T> for I
where Self: VariableStepExplicit<Y, U, V, T>, Y: Differentiate<T> + Tensor, Derivative<Y, T>: Mul<Quantity<T>, Output = Y>, U: TensorVec<Item = Y>, V: TensorVec<Item = Derivative<Y, T>>, T: UnitInv, for<'a> &'a Y: Mul<Scalar, Output = Y> + Mul<Quantity<<T as UnitInv>::Output>, Output = Derivative<Y, T>> + Sub<&'a Y, Output = Y>, for<'a> &'a Derivative<Y, T>: Mul<Scalar, Output = Derivative<Y, T>> + Mul<Quantity<T>, Output = Y>,