pub struct CovariantPiolaMap {}Expand description
Covariant Piola map.
Let $F$ be the map from the reference cell to the physical cell and let $J$ be its Jacobian. Let $\Phi$ be the function values on the reference cell. The covariant Piola map is defined by $$ J^{-T}\Phi\circ F^{-1} $$ The covariant Piola map preserves tangential continuity. If $J$ is a rectangular matrix then the pseudo-inverse is used instead of the inverse.
Trait Implementations§
Source§impl Map for CovariantPiolaMap
impl Map for CovariantPiolaMap
Source§fn push_forward<T: RlstScalar, TGeo: RlstScalar, Array3GeoImpl: ValueArrayImpl<TGeo, 3>, Array4Impl: ValueArrayImpl<T, 4>, Array4MutImpl: MutableArrayImpl<T, 4>>(
&self,
reference_values: &Array<Array4Impl, 4>,
nderivs: usize,
_jacobians: &Array<Array3GeoImpl, 3>,
_jacobian_determinants: &[TGeo],
inverse_jacobians: &Array<Array3GeoImpl, 3>,
physical_values: &mut Array<Array4MutImpl, 4>,
)
fn push_forward<T: RlstScalar, TGeo: RlstScalar, Array3GeoImpl: ValueArrayImpl<TGeo, 3>, Array4Impl: ValueArrayImpl<T, 4>, Array4MutImpl: MutableArrayImpl<T, 4>>( &self, reference_values: &Array<Array4Impl, 4>, nderivs: usize, _jacobians: &Array<Array3GeoImpl, 3>, _jacobian_determinants: &[TGeo], inverse_jacobians: &Array<Array3GeoImpl, 3>, physical_values: &mut Array<Array4MutImpl, 4>, )
Push values from the reference cell to physical cells.
Source§fn pull_back<T: RlstScalar, TGeo: RlstScalar, Array3GeoImpl: ValueArrayImpl<TGeo, 3>, Array4Impl: ValueArrayImpl<T, 4>, Array4MutImpl: MutableArrayImpl<T, 4>>(
&self,
physical_values: &Array<Array4Impl, 4>,
nderivs: usize,
jacobians: &Array<Array3GeoImpl, 3>,
_jacobian_determinants: &[TGeo],
_inverse_jacobians: &Array<Array3GeoImpl, 3>,
reference_values: &mut Array<Array4MutImpl, 4>,
)
fn pull_back<T: RlstScalar, TGeo: RlstScalar, Array3GeoImpl: ValueArrayImpl<TGeo, 3>, Array4Impl: ValueArrayImpl<T, 4>, Array4MutImpl: MutableArrayImpl<T, 4>>( &self, physical_values: &Array<Array4Impl, 4>, nderivs: usize, jacobians: &Array<Array3GeoImpl, 3>, _jacobian_determinants: &[TGeo], _inverse_jacobians: &Array<Array3GeoImpl, 3>, reference_values: &mut Array<Array4MutImpl, 4>, )
Pull values back to the reference cell.
Auto Trait Implementations§
impl Freeze for CovariantPiolaMap
impl RefUnwindSafe for CovariantPiolaMap
impl Send for CovariantPiolaMap
impl Sync for CovariantPiolaMap
impl Unpin for CovariantPiolaMap
impl UnwindSafe for CovariantPiolaMap
Blanket Implementations§
§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>
Convert the given value into an approximately equivalent representation.
§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,
§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Convert the subject into an approximately equivalent representation.
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
Mutably borrows from an owned value. Read more
§impl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
§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>,
Approximate the subject to a given type with the default scheme.
§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,
Approximate the subject to a given type with a specific scheme.
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>
Converts
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>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
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<Src> TryFrom<Src> for Src
impl<Src> TryFrom<Src> for Src
§impl<Src, Dst> TryInto<Dst> for Srcwhere
Dst: TryFrom<Src>,
impl<Src, Dst> TryInto<Dst> for Srcwhere
Dst: TryFrom<Src>,
§impl<Src> ValueFrom<Src> for Src
impl<Src> ValueFrom<Src> for Src
§fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>
fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>
Convert the given value into an exactly equivalent representation.
§impl<Src, Dst> ValueInto<Dst> for Srcwhere
Dst: ValueFrom<Src>,
impl<Src, Dst> ValueInto<Dst> for Srcwhere
Dst: ValueFrom<Src>,
§fn value_into(self) -> Result<Dst, <Src as ValueInto<Dst>>::Err>
fn value_into(self) -> Result<Dst, <Src as ValueInto<Dst>>::Err>
Convert the subject into an exactly equivalent representation.