pub trait ExplicitInternalVariables<Y, Z, U, V>{
// Required method
fn integrate_and_evaluate(
&self,
function: impl FnMut(Scalar, &Y, &Z) -> Result<Y, String>,
evaluate: impl FnMut(Scalar, &Y, &Z) -> Result<Z, String>,
time: &[Scalar],
initial_condition: Y,
initial_evaluation: Z,
) -> Result<(Vector, U, U, V), IntegrationError>;
}Expand description
Explicit ordinary differential equation solvers with internal variables.
Required Methods§
Sourcefn integrate_and_evaluate(
&self,
function: impl FnMut(Scalar, &Y, &Z) -> Result<Y, String>,
evaluate: impl FnMut(Scalar, &Y, &Z) -> Result<Z, String>,
time: &[Scalar],
initial_condition: Y,
initial_evaluation: Z,
) -> Result<(Vector, U, U, V), IntegrationError>
fn integrate_and_evaluate( &self, function: impl FnMut(Scalar, &Y, &Z) -> Result<Y, String>, evaluate: impl FnMut(Scalar, &Y, &Z) -> Result<Z, String>, time: &[Scalar], initial_condition: Y, initial_evaluation: Z, ) -> Result<(Vector, U, U, V), IntegrationError>
Solves an initial value problem by explicitly integrating a system of ordinary differential equations with internal variables.
\frac{dy}{dt} = f(t, y, z),\quad z=g(t, y),\quad y(t_0) = y_0Dyn 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.