Struct PortableRealizationGraph
pub struct PortableRealizationGraph { /* private fields */ }Description
Canonical portable DAG projected from one already resolved Realization.
This type is intentionally in-memory only. Frozen artifact envelopes retain their bytes and digests; a graph-native wire is considered only after all accepted plan families prove lossless projection. Graph validation proves structural closure and solver compatibility. An equation-aware consumer must additionally compare all claimed Semantic identities and mathematical properties with its accepted lowering before this graph can authorize a run or become evidence.
Implementations§
§impl PortableRealizationGraph
impl PortableRealizationGraph
pub const fn lineage(&self) -> RealizationLineage
pub const fn lineage(&self) -> RealizationLineage
Exact Model and Realization lineage.
pub fn domains(&self) -> &[DomainDiscretizationNode]
pub fn domains(&self) -> &[DomainDiscretizationNode]
Canonically ordered Domain discretizations.
pub fn fields(&self) -> &[FieldRepresentationNode]
pub fn fields(&self) -> &[FieldRepresentationNode]
Canonically ordered Field representations.
pub fn geometry_actions(&self) -> &[GeometryActionNode]
pub fn geometry_actions(&self) -> &[GeometryActionNode]
Canonically ordered sealed moving-geometry actions.
pub fn transformations(&self) -> &[TransformationNode]
pub fn transformations(&self) -> &[TransformationNode]
Canonically ordered numerical transformations.
pub fn systems(&self) -> &[AlgebraicSystemNode]
pub fn systems(&self) -> &[AlgebraicSystemNode]
Connected algebraic systems.
pub fn linear_solves(&self) -> &[LinearSolveNode]
pub fn linear_solves(&self) -> &[LinearSolveNode]
Linear-solver roles.
pub fn nonlinear_solves(&self) -> &[NonlinearSolveNode]
pub fn nonlinear_solves(&self) -> &[NonlinearSolveNode]
Nonlinear-solver roles.
pub fn placements(&self) -> &[PlacementRequirementNode]
pub fn placements(&self) -> &[PlacementRequirementNode]
Portable compute requirements without environment-local ordinals.
pub fn domain(
&self,
id: DomainDiscretizationId,
) -> Option<&DomainDiscretizationNode>
pub fn domain( &self, id: DomainDiscretizationId, ) -> Option<&DomainDiscretizationNode>
Resolve a typed Domain reference.
pub fn field(
&self,
id: FieldRepresentationId,
) -> Option<&FieldRepresentationNode>
pub fn field( &self, id: FieldRepresentationId, ) -> Option<&FieldRepresentationNode>
Resolve a typed Field reference.
pub fn geometry_action(
&self,
id: GeometryActionId,
) -> Option<&GeometryActionNode>
pub fn geometry_action( &self, id: GeometryActionId, ) -> Option<&GeometryActionNode>
Resolve a typed moving-geometry action reference.
pub fn transformation(
&self,
id: TransformationId,
) -> Option<&TransformationNode>
pub fn transformation( &self, id: TransformationId, ) -> Option<&TransformationNode>
Resolve a typed transformation reference.
pub fn system(&self, id: AlgebraicSystemId) -> Option<&AlgebraicSystemNode>
pub fn system(&self, id: AlgebraicSystemId) -> Option<&AlgebraicSystemNode>
Resolve a typed algebraic-system reference.
pub fn linear_solve(&self, id: LinearSolveId) -> Option<&LinearSolveNode>
pub fn linear_solve(&self, id: LinearSolveId) -> Option<&LinearSolveNode>
Resolve a typed linear-solve reference.
pub fn nonlinear_solve(
&self,
id: NonlinearSolveId,
) -> Option<&NonlinearSolveNode>
pub fn nonlinear_solve( &self, id: NonlinearSolveId, ) -> Option<&NonlinearSolveNode>
Resolve a typed nonlinear-solve reference.
pub fn placement(
&self,
id: PlacementRequirementId,
) -> Option<PlacementRequirementNode>
pub fn placement( &self, id: PlacementRequirementId, ) -> Option<PlacementRequirementNode>
Resolve a typed placement reference.
Trait Implementations§
§impl Clone for PortableRealizationGraph
impl Clone for PortableRealizationGraph
§impl Debug for PortableRealizationGraph
impl Debug for PortableRealizationGraph
§impl PartialEq for PortableRealizationGraph
impl PartialEq for PortableRealizationGraph
§fn eq(&self, other: &PortableRealizationGraph) -> bool
fn eq(&self, other: &PortableRealizationGraph) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for PortableRealizationGraph
Auto Trait Implementations§
impl Freeze for PortableRealizationGraph
impl RefUnwindSafe for PortableRealizationGraph
impl Send for PortableRealizationGraph
impl Sync for PortableRealizationGraph
impl Unpin for PortableRealizationGraph
impl UnsafeUnpin for PortableRealizationGraph
impl UnwindSafe for PortableRealizationGraph
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.