Struct P1HarmonicMeshMotionPolicy
pub struct P1HarmonicMeshMotionPolicy { /* private fields */ }Description
P1 harmonic coordinate extension over exact numerical Domain groups.
Each driven Domain supplies one absolute displacement Field. Their interface traces drive the harmonic Domains; remaining harmonic exterior vertices are fixed. Domain count and physical-family names do not select this action.
Implementations§
§impl P1HarmonicMeshMotionPolicy
impl P1HarmonicMeshMotionPolicy
pub fn new(
harmonic_domains: impl IntoIterator<Item = Id<Domain>>,
drivers: impl IntoIterator<Item = (Id<Domain>, Id<Field>)>,
interfaces: impl IntoIterator<Item = Id<Connection>>,
quality_gate: AleGeometryQualityGate,
solver: SolverPlan,
) -> Result<P1HarmonicMeshMotionPolicy, Diagnostic>
pub fn new( harmonic_domains: impl IntoIterator<Item = Id<Domain>>, drivers: impl IntoIterator<Item = (Id<Domain>, Id<Field>)>, interfaces: impl IntoIterator<Item = Id<Connection>>, quality_gate: AleGeometryQualityGate, solver: SolverPlan, ) -> Result<P1HarmonicMeshMotionPolicy, Diagnostic>
Select disjoint harmonic/driven Domains and their exact interface inventory.
§Errors
Returns EQ0807 for empty or repeated entries, overlapping Domain groups,
a Field assigned to multiple Domains, or a solver incompatible with SPD.
pub fn harmonic_domains(&self) -> &[Id<Domain>]
pub fn harmonic_domains(&self) -> &[Id<Domain>]
Domains whose free coordinate coefficients use harmonic extension.
pub fn drivers(&self) -> &[(Id<Domain>, Id<Field>)]
pub fn drivers(&self) -> &[(Id<Domain>, Id<Field>)]
Absolute displacement Field on each directly driven Domain.
pub fn interfaces(&self) -> &[Id<Connection>]
pub fn interfaces(&self) -> &[Id<Connection>]
Complete conforming Connections between harmonic and driven Domains.
pub const fn quality_gate(&self) -> AleGeometryQualityGate
pub const fn quality_gate(&self) -> AleGeometryQualityGate
Quality gate applied before any local physical action.
pub const fn solver(&self) -> SolverPlan
pub const fn solver(&self) -> SolverPlan
Linear solver used solely for harmonic extension.
Trait Implementations§
§impl Clone for P1HarmonicMeshMotionPolicy
impl Clone for P1HarmonicMeshMotionPolicy
§impl Debug for P1HarmonicMeshMotionPolicy
impl Debug for P1HarmonicMeshMotionPolicy
§impl PartialEq for P1HarmonicMeshMotionPolicy
impl PartialEq for P1HarmonicMeshMotionPolicy
§fn eq(&self, other: &P1HarmonicMeshMotionPolicy) -> bool
fn eq(&self, other: &P1HarmonicMeshMotionPolicy) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for P1HarmonicMeshMotionPolicy
Auto Trait Implementations§
impl Freeze for P1HarmonicMeshMotionPolicy
impl RefUnwindSafe for P1HarmonicMeshMotionPolicy
impl Send for P1HarmonicMeshMotionPolicy
impl Sync for P1HarmonicMeshMotionPolicy
impl Unpin for P1HarmonicMeshMotionPolicy
impl UnsafeUnpin for P1HarmonicMeshMotionPolicy
impl UnwindSafe for P1HarmonicMeshMotionPolicy
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.