pub trait ExplicitDaeVariableStepExplicitZerothOrderRoot<G, Y, Z, U, V, W, T = Time>where
Self: ExplicitDaeVariableStepExplicit<Y, Z, U, V, W, T>,
Y: Differentiate<T> + Tensor,
Z: PartialEq + Tensor,
Derivative<Y, T>: Mul<Quantity<T>, Output = Y>,
U: TensorVec<Item = Y>,
V: TensorVec<Item = Z>,
W: TensorVec<Item = Derivative<Y, T>>,
for<'a> &'a Y: Mul<Scalar, Output = Y> + Sub<&'a Y, Output = Y>,
for<'a> &'a Derivative<Y, T>: Mul<Scalar, Output = Derivative<Y, T>> + Mul<Quantity<T>, Output = Y>,{
// Provided method
fn integrate_explicit_dae_variable_step_explicit_root_0(
&self,
evolution: impl FnMut(Quantity<T>, &Y, &Z) -> Result<Derivative<Y, T>, String>,
function: impl FnMut(Quantity<T>, &Y, &Z) -> Result<G, String>,
solver: impl ZerothOrderRootFinding<G, Z>,
time: &[Quantity<T>],
initial_condition: (Y, Z),
equality_constraint: impl FnMut(Quantity<T>) -> EqualityConstraint,
) -> Result<(Times<T>, U, W, V), IntegrationError> { ... }
}Expand description
Variable-step explicit integrators for explicit differential-algebraic equations using zeroth-order root-finding.
Provided Methods§
fn integrate_explicit_dae_variable_step_explicit_root_0( &self, evolution: impl FnMut(Quantity<T>, &Y, &Z) -> Result<Derivative<Y, T>, String>, function: impl FnMut(Quantity<T>, &Y, &Z) -> Result<G, String>, solver: impl ZerothOrderRootFinding<G, Z>, time: &[Quantity<T>], initial_condition: (Y, Z), equality_constraint: impl FnMut(Quantity<T>) -> EqualityConstraint, ) -> Result<(Times<T>, U, W, V), IntegrationError>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".