pub trait DelayNumericalMethod<const L: usize, T, Y, H>{
// Required methods
fn init<F>(
&mut self,
dde: &F,
t0: T,
tf: T,
y0: &Y,
phi: &H,
) -> Result<Evals, Error<T, Y>>
where F: DDE<L, T, Y>;
fn step<F>(&mut self, dde: &F, phi: &H) -> Result<Evals, Error<T, Y>>
where F: DDE<L, T, Y>;
fn t(&self) -> T;
fn y(&self) -> &Y;
fn t_prev(&self) -> T;
fn y_prev(&self) -> &Y;
fn h(&self) -> T;
fn set_h(&mut self, h: T);
fn status(&self) -> &Status<T, Y>;
fn set_status(&mut self, status: Status<T, Y>);
}Expand description
Trait for DDE solvers.
Implemented by types that can solve DDEs via repeated calls to step.
Required Methods§
Sourcefn init<F>(
&mut self,
dde: &F,
t0: T,
tf: T,
y0: &Y,
phi: &H,
) -> Result<Evals, Error<T, Y>>where
F: DDE<L, T, Y>,
fn init<F>(
&mut self,
dde: &F,
t0: T,
tf: T,
y0: &Y,
phi: &H,
) -> Result<Evals, Error<T, Y>>where
F: DDE<L, T, Y>,
Initialize the solver before integration
§Arguments
dde- System of DDEs to solve.t0- Initial time.tf- Final time.y0- Initial state att0.phi- Initial history functionphi(t)returning stateYfort <= t0.
§Returns
- Result<Evals, Error<T, Y>> - Ok(evals) if initialization is successful, Err otherwise.
Sourcefn set_status(&mut self, status: Status<T, Y>)
fn set_status(&mut self, status: Status<T, Y>)
Set solver status
Dyn 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.