Struct ComposedResidualSystem
pub struct ComposedResidualSystem { /* private fields */ }Description
Immutable canonical residual system for one closed physical subsystem.
Implementations§
§impl ComposedResidualSystem
impl ComposedResidualSystem
pub const fn subsystem(&self) -> ScalarPhysicalSubsystemId
pub const fn subsystem(&self) -> ScalarPhysicalSubsystemId
Canonical subsystem identity.
pub fn unknowns(&self) -> &[PhysicalUnknown]
pub fn unknowns(&self) -> &[PhysicalUnknown]
Across/Through pairs in canonical Port order.
pub fn parameters(&self) -> &[Id<Parameter>]
pub fn parameters(&self) -> &[Id<Parameter>]
Sorted unique known Parameters read by participating Relations.
pub const fn uses_time(&self) -> bool
pub const fn uses_time(&self) -> bool
Whether any participating Relation reads model time.
pub fn relations(&self) -> &[RelationResidual]
pub fn relations(&self) -> &[RelationResidual]
Participating Relations in canonical ID order.
pub fn junctions(&self) -> &[JunctionResidual]
pub fn junctions(&self) -> &[JunctionResidual]
Junction residual groups in canonical Connection order.
pub fn evaluate_reference(
&self,
unknown_values: &[f64],
parameter_values: &[f64],
time: Option<f64>,
) -> Result<Vec<f64>, Diagnostic>
pub fn evaluate_reference( &self, unknown_values: &[f64], parameter_values: &[f64], time: Option<f64>, ) -> Result<Vec<f64>, Diagnostic>
Evaluate every canonical residual root through the reference DAG evaluator at one explicit scalar point.
Unknown values follow Self::unknowns, parameter values follow
Self::parameters, and roots follow the relation-then-junction order
owned by this composed system. Time is required exactly when
Self::uses_time is true. This path does not lower, regroup, or
regenerate any residual DAG.
§Errors
Returns EQ0502 for an input-shape or time-presence mismatch and
EQ0505 for a non-finite input or intermediate value.
Trait Implementations§
§impl Clone for ComposedResidualSystem
impl Clone for ComposedResidualSystem
§impl Debug for ComposedResidualSystem
impl Debug for ComposedResidualSystem
§impl PartialEq for ComposedResidualSystem
impl PartialEq for ComposedResidualSystem
§fn eq(&self, other: &ComposedResidualSystem) -> bool
fn eq(&self, other: &ComposedResidualSystem) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ComposedResidualSystem
Auto Trait Implementations§
impl Freeze for ComposedResidualSystem
impl RefUnwindSafe for ComposedResidualSystem
impl Send for ComposedResidualSystem
impl Sync for ComposedResidualSystem
impl Unpin for ComposedResidualSystem
impl UnsafeUnpin for ComposedResidualSystem
impl UnwindSafe for ComposedResidualSystem
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.