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>;
}
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 theRhs
associated type and OdeEquations::rhs function, - the initial condition
y_0(t_0)
, which is given as a ConstantOp using theInit
associated type and OdeEquations::init function.
Optionally, the ODE equations can also include:
- the mass matrix
M
which is given as a LinearOp using theMass
associated type and the OdeEquations::mass function, - the root function
G(t, y)
which is given as a NonLinearOp using theRoot
associated type and the OdeEquations::root function - the output function
H(t, y)
which is given as a NonLinearOp using theOut
associated type and the OdeEquations::out function