pub trait OdeEquationsRef<'a, ImplicitBounds: Sealed = Bounds<&'a Self>>: Op {
type Mass: LinearOp<M = Self::M, V = Self::V, T = Self::T, C = Self::C>;
type Rhs: NonLinearOp<M = Self::M, V = Self::V, T = Self::T, C = Self::C>;
type Root: NonLinearOp<M = Self::M, V = Self::V, T = Self::T, C = Self::C>;
type Init: ConstantOp<M = Self::M, V = Self::V, T = Self::T, C = Self::C>;
type Out: NonLinearOp<M = Self::M, V = Self::V, T = Self::T, C = Self::C>;
type Reset: NonLinearOp<M = Self::M, V = Self::V, T = Self::T, C = Self::C>;
}Expand description
this is the reference trait that defines the ODE equations of the form, this is used to define the ODE equations for a given lifetime. See OdeEquations for the main trait that defines the ODE equations.
$$ M \frac{dy}{dt} = F(t, y) y(t_0) = y_0(t_0) $$
The ODE equations are defined by:
- the right-hand side function
F(t, y), which is given as a NonLinearOp using theRhsassociated type and OdeEquations::rhs function, - the initial condition
y_0(t_0), which is given as a ConstantOp using theInitassociated type and OdeEquations::init function.
Optionally, the ODE equations can also include:
- the mass matrix
Mwhich is given as a LinearOp using theMassassociated type and the OdeEquations::mass function, - the root function
G(t, y)which is given as a NonLinearOp using theRootassociated type and the OdeEquations::root function - the output function
H(t, y)which is given as a NonLinearOp using theOutassociated type and the OdeEquations::out function
Required Associated Types§
type Mass: LinearOp<M = Self::M, V = Self::V, T = Self::T, C = Self::C>
type Rhs: NonLinearOp<M = Self::M, V = Self::V, T = Self::T, C = Self::C>
type Root: NonLinearOp<M = Self::M, V = Self::V, T = Self::T, C = Self::C>
type Init: ConstantOp<M = Self::M, V = Self::V, T = Self::T, C = Self::C>
type Out: NonLinearOp<M = Self::M, V = Self::V, T = Self::T, C = Self::C>
type Reset: NonLinearOp<M = Self::M, V = Self::V, T = Self::T, C = Self::C>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".