Struct ReferenceConfig
pub struct ReferenceConfig { /* private fields */ }Description
Numerical controls for the deliberately conservative reference evaluator.
These values choose an approximation; they are not part of model meaning. Continuous relations use backward Euler and a dense finite-difference Newton solve so the implementation remains small and auditable.
Implementations§
§impl ReferenceConfig
impl ReferenceConfig
pub fn new(end_time: f64, max_step: f64) -> Result<ReferenceConfig, Diagnostic>
pub fn new(end_time: f64, max_step: f64) -> Result<ReferenceConfig, Diagnostic>
Create a run from model time zero through end_time seconds.
§Errors
Returns EQ0501 unless times are finite, end_time is non-negative,
and max_step is strictly positive.
pub fn with_nonlinear_tolerances(
self,
absolute: f64,
relative: f64,
) -> Result<ReferenceConfig, Diagnostic>
pub fn with_nonlinear_tolerances( self, absolute: f64, relative: f64, ) -> Result<ReferenceConfig, Diagnostic>
Override Newton residual tolerances.
§Errors
Returns EQ0501 unless both are finite, the absolute tolerance is
positive, and the relative tolerance is non-negative.
pub fn with_limits(
self,
max_nonlinear_iterations: usize,
max_steps: usize,
) -> Result<ReferenceConfig, Diagnostic>
pub fn with_limits( self, max_nonlinear_iterations: usize, max_steps: usize, ) -> Result<ReferenceConfig, Diagnostic>
Override safety limits for nonlinear iterations and total time steps.
§Errors
Returns EQ0501 when either limit is zero.
pub fn with_event_tolerances(
self,
time: f64,
guard: f64,
) -> Result<ReferenceConfig, Diagnostic>
pub fn with_event_tolerances( self, time: f64, guard: f64, ) -> Result<ReferenceConfig, Diagnostic>
Override event root tolerances in model seconds and guard units.
§Errors
Returns EQ0501 unless both values are finite and strictly positive.
pub fn with_event_limits(
self,
localization_iterations: usize,
zero_time_events: usize,
) -> Result<ReferenceConfig, Diagnostic>
pub fn with_event_limits( self, localization_iterations: usize, zero_time_events: usize, ) -> Result<ReferenceConfig, Diagnostic>
Override event localization and zero-time iteration limits.
§Errors
Returns EQ0501 when either limit is zero.
pub const fn max_step(self) -> f64
pub const fn max_step(self) -> f64
Maximum backward-Euler step in seconds.
pub const fn absolute_tolerance(self) -> f64
pub const fn absolute_tolerance(self) -> f64
Absolute residual tolerance used by the reference Newton solve.
pub const fn relative_tolerance(self) -> f64
pub const fn relative_tolerance(self) -> f64
Relative residual tolerance used by the reference Newton solve.
pub const fn max_nonlinear_iterations(self) -> usize
pub const fn max_nonlinear_iterations(self) -> usize
Maximum Newton iterations admitted for one implicit solve.
pub const fn max_steps(self) -> usize
pub const fn max_steps(self) -> usize
Maximum accepted model-time steps for one reference run.
pub const fn event_time_tolerance(self) -> f64
pub const fn event_time_tolerance(self) -> f64
Event-time localization tolerance in model seconds.
pub const fn event_guard_tolerance(self) -> f64
pub const fn event_guard_tolerance(self) -> f64
Zero-crossing guard tolerance in guard units.
pub const fn max_event_localization_iterations(self) -> usize
pub const fn max_event_localization_iterations(self) -> usize
Maximum bisection/localization iterations for one event proposal.
pub const fn max_zero_time_events(self) -> usize
pub const fn max_zero_time_events(self) -> usize
Maximum consecutive zero-model-time event commits.
Trait Implementations§
§impl Clone for ReferenceConfig
impl Clone for ReferenceConfig
§impl Debug for ReferenceConfig
impl Debug for ReferenceConfig
§impl PartialEq for ReferenceConfig
impl PartialEq for ReferenceConfig
§fn eq(&self, other: &ReferenceConfig) -> bool
fn eq(&self, other: &ReferenceConfig) -> bool
self and other values to be equal, and is used by ==.impl Copy for ReferenceConfig
impl StructuralPartialEq for ReferenceConfig
Auto Trait Implementations§
impl Freeze for ReferenceConfig
impl RefUnwindSafe for ReferenceConfig
impl Send for ReferenceConfig
impl Sync for ReferenceConfig
impl Unpin for ReferenceConfig
impl UnsafeUnpin for ReferenceConfig
impl UnwindSafe for ReferenceConfig
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.