Struct TimePlan
pub struct TimePlan { /* private fields */ }Description
Complete adaptive integration and output-sampling policy for one run.
Implementations§
§impl TimePlan
impl TimePlan
pub fn new(
method: TimeMethod,
start_time: f64,
initial_step: f64,
relative_tolerance: f64,
absolute_tolerances: Vec<f64>,
output_times: Vec<f64>,
) -> Result<TimePlan, Diagnostic>
pub fn new( method: TimeMethod, start_time: f64, initial_step: f64, relative_tolerance: f64, absolute_tolerances: Vec<f64>, output_times: Vec<f64>, ) -> Result<TimePlan, Diagnostic>
Construct a validated method/tolerance/output request.
Absolute-tolerance cardinality is checked against a problem at adapter admission. Output times must be finite, strictly increasing, and later than the start time.
§Errors
Returns EQ0501 for invalid times, steps, or tolerances.
pub fn validate_for(&self, problem: &TimeProblem<'_>) -> Result<(), Diagnostic>
pub fn validate_for(&self, problem: &TimeProblem<'_>) -> Result<(), Diagnostic>
Validate state-shaped controls against a problem.
§Errors
Returns EQ0501 unless one absolute tolerance exists per state.
pub fn validate_for_implicit(
&self,
problem: &ImplicitDaeProblem<'_>,
) -> Result<(), Diagnostic>
pub fn validate_for_implicit( &self, problem: &ImplicitDaeProblem<'_>, ) -> Result<(), Diagnostic>
Validate state-shaped controls against a general residual problem.
§Errors
Returns EQ0501 unless one absolute tolerance exists per state.
pub const fn initial_step(&self) -> f64
pub const fn initial_step(&self) -> f64
Initial adaptive step-size guess, or maximum step for a fixed reference method.
pub const fn relative_tolerance(&self) -> f64
pub const fn relative_tolerance(&self) -> f64
Relative local-error tolerance.
pub fn absolute_tolerances(&self) -> &[f64]
pub fn absolute_tolerances(&self) -> &[f64]
Per-state absolute local-error tolerances.
pub fn output_times(&self) -> &[f64]
pub fn output_times(&self) -> &[f64]
Requested model-time samples, separate from internal adaptive steps.
Trait Implementations§
§impl Clone for TimePlan
impl Clone for TimePlan
§impl Debug for TimePlan
impl Debug for TimePlan
§impl PartialEq for TimePlan
impl PartialEq for TimePlan
§fn eq(&self, other: &TimePlan) -> bool
fn eq(&self, other: &TimePlan) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for TimePlan
Auto Trait Implementations§
impl Freeze for TimePlan
impl RefUnwindSafe for TimePlan
impl Send for TimePlan
impl Sync for TimePlan
impl Unpin for TimePlan
impl UnsafeUnpin for TimePlan
impl UnwindSafe for TimePlan
Blanket Implementations§
Source§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Source§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
§fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§impl<T> ConvUtil for T
impl<T> ConvUtil for T
§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
§fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
§fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
Source§impl<T> From<T> for T
impl<T> From<T> for T
Source§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Same for T
impl<T> Same for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.