pub trait Explicit<Y, U, V, T = Time>where
Self: OdeIntegrator<Y, U>,
Y: Differentiate<T> + Tensor,
U: TensorVec<Item = Y>,
V: TensorVec<Item = Derivative<Y, T>>,{
const SLOPES: usize;
// Required method
fn integrate(
&self,
function: impl FnMut(Quantity<T>, &Y) -> Result<Derivative<Y, T>, String>,
time: &[Quantity<T>],
initial_condition: Y,
) -> Result<(Times<T>, U, V), IntegrationError>;
}Expand description
Explicit integrators for ordinary differential equations.
Required Associated Constants§
Required Methods§
Sourcefn integrate(
&self,
function: impl FnMut(Quantity<T>, &Y) -> Result<Derivative<Y, T>, String>,
time: &[Quantity<T>],
initial_condition: Y,
) -> Result<(Times<T>, U, V), IntegrationError>
fn integrate( &self, function: impl FnMut(Quantity<T>, &Y) -> Result<Derivative<Y, T>, String>, time: &[Quantity<T>], initial_condition: Y, ) -> Result<(Times<T>, U, V), IntegrationError>
Solves an initial value problem by explicitly integrating a system of ordinary differential equations.
\frac{dy}{dt} = f(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".