Struct CartesianPeriodicBoundaryIdentification
pub struct CartesianPeriodicBoundaryIdentification { /* private fields */ }Description
Derived geometry of one validated spatial-periodic Cartesian pair.
The value is a projection of the two Port supports and their exact parent
Domain. It is never a second canonical payload. Lower-to-upper translation
is zero on every tangential axis and Self::period on
Self::normal_axis.
Implementations§
§impl CartesianPeriodicBoundaryIdentification
impl CartesianPeriodicBoundaryIdentification
pub const fn ambient_dimension(&self) -> usize
pub const fn ambient_dimension(&self) -> usize
Parent Cartesian dimension.
pub const fn normal_axis(&self) -> usize
pub const fn normal_axis(&self) -> usize
Axis normal to both identified boundaries.
pub const fn lower_coordinate(&self) -> f64
pub const fn lower_coordinate(&self) -> f64
Lower boundary coordinate in coherent SI units.
pub const fn upper_coordinate(&self) -> f64
pub const fn upper_coordinate(&self) -> f64
Upper boundary coordinate in coherent SI units.
pub fn period(&self) -> f64
pub fn period(&self) -> f64
Positive lower-to-upper translation along the normal axis.
pub const fn tangential_intervals(&self) -> &[(f64, f64)]
pub const fn tangential_intervals(&self) -> &[(f64, f64)]
Common intervals on every tangential axis, in axis order.
§impl CartesianPeriodicBoundaryIdentification
impl CartesianPeriodicBoundaryIdentification
pub fn derive<I>(
ports: &[BoundaryPhysicalPortContract<I>],
) -> Result<CartesianPeriodicBoundaryIdentification, SpatialPeriodicBoundaryViolation>where
I: Eq,
pub fn derive<I>(
ports: &[BoundaryPhysicalPortContract<I>],
) -> Result<CartesianPeriodicBoundaryIdentification, SpatialPeriodicBoundaryViolation>where
I: Eq,
Validate and derive one exact Cartesian translation identification.
Unlike an ordinary conserving connection, the two supports are expected to be noncoincident. The exact parent and opposite-side contract makes the translation unique, so no tolerance or duplicate vector enters canonical meaning.
Trait Implementations§
§impl Clone for CartesianPeriodicBoundaryIdentification
impl Clone for CartesianPeriodicBoundaryIdentification
§impl Debug for CartesianPeriodicBoundaryIdentification
impl Debug for CartesianPeriodicBoundaryIdentification
§impl PartialEq for CartesianPeriodicBoundaryIdentification
impl PartialEq for CartesianPeriodicBoundaryIdentification
§fn eq(&self, other: &CartesianPeriodicBoundaryIdentification) -> bool
fn eq(&self, other: &CartesianPeriodicBoundaryIdentification) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for CartesianPeriodicBoundaryIdentification
Auto Trait Implementations§
impl Freeze for CartesianPeriodicBoundaryIdentification
impl RefUnwindSafe for CartesianPeriodicBoundaryIdentification
impl Send for CartesianPeriodicBoundaryIdentification
impl Sync for CartesianPeriodicBoundaryIdentification
impl Unpin for CartesianPeriodicBoundaryIdentification
impl UnsafeUnpin for CartesianPeriodicBoundaryIdentification
impl UnwindSafe for CartesianPeriodicBoundaryIdentification
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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.