Enum ObservableMeasure
pub enum ObservableMeasure {
Volume,
Boundary,
SphericalVolume,
}Description
Integration measure on a continuous support.
Variants§
Volume
Cartesian product measure: physical volume or the product of abstract factor units.
Boundary
Codimension-one surface measure, including on a physical interface. Orientation comes from the support’s normal; an interface is counted once.
SphericalVolume
Spherical-symmetry volume measure 4*pi*r^2 dr on a radial coordinate factor.
The coordinate has length units and the measure has volume units. Domain
admission separately requires bounds [0, R].
Implementations§
§impl ObservableMeasure
impl ObservableMeasure
pub fn validate_limits<I>(
self,
input: &SpatialSupport<I>,
support: &SpatialSupport<I>,
limits: [&ExpressionType<I>; 2],
) -> Result<(), Diagnostic>where
I: Clone + PartialEq,
pub fn validate_limits<I>(
self,
input: &SpatialSupport<I>,
support: &SpatialSupport<I>,
limits: [&ExpressionType<I>; 2],
) -> Result<(), Diagnostic>where
I: Clone + PartialEq,
Check the types of explicit integration limits, independently of quadrature and current values. The initial profile is one complete coordinate interval with lumped real limits.
§Errors
Rejects physical or weighted measures, partial products, captured coordinates, non-real scalar limits, and units that differ from the bound coordinate.
§impl ObservableMeasure
impl ObservableMeasure
pub fn output_type<I>(
self,
root: &ExpressionType<I>,
input: &SpatialSupport<I>,
support: &SpatialSupport<I>,
output: Option<&SpatialSupport<I>>,
) -> Result<ExpressionType<I>, Diagnostic>where
I: Clone + PartialEq,
pub fn output_type<I>(
self,
root: &ExpressionType<I>,
input: &SpatialSupport<I>,
support: &SpatialSupport<I>,
output: Option<&SpatialSupport<I>>,
) -> Result<ExpressionType<I>, Diagnostic>where
I: Clone + PartialEq,
Infer the value type and remaining support after integration.
Source checking and Semantic Model admission use this same rule. The measure removes only its own factors and keeps the order of the others. A full integral has no output support; a partial integral must name its output support.
§Errors
Rejects a wrong measure, a foreign support, or an unrepresentable dimension.
Trait Implementations§
§impl Clone for ObservableMeasure
impl Clone for ObservableMeasure
§impl Debug for ObservableMeasure
impl Debug for ObservableMeasure
§impl PartialEq for ObservableMeasure
impl PartialEq for ObservableMeasure
§fn eq(&self, other: &ObservableMeasure) -> bool
fn eq(&self, other: &ObservableMeasure) -> bool
self and other values to be equal, and is used by ==.impl Copy for ObservableMeasure
impl Eq for ObservableMeasure
impl StructuralPartialEq for ObservableMeasure
Auto Trait Implementations§
impl Freeze for ObservableMeasure
impl RefUnwindSafe for ObservableMeasure
impl Send for ObservableMeasure
impl Sync for ObservableMeasure
impl Unpin for ObservableMeasure
impl UnsafeUnpin for ObservableMeasure
impl UnwindSafe for ObservableMeasure
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>,
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
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.