pub struct ContravariantPiolaMap {}Expand description
Contravariant 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 contravariant Piola map is defined by $$ \frac{1}{\det{J}}J\Phi\circ F^{-1} $$ The contravariant Piola map preserves normal continuity. If $J$ is a rectangular matrix then $\sqrt{\det{J^TJ}}$ is used instead of $\det{J}$.
Trait Implementations§
Source§impl Map for ContravariantPiolaMap
impl Map for ContravariantPiolaMap
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 ContravariantPiolaMap
impl RefUnwindSafe for ContravariantPiolaMap
impl Send for ContravariantPiolaMap
impl Sync for ContravariantPiolaMap
impl Unpin for ContravariantPiolaMap
impl UnwindSafe for ContravariantPiolaMap
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.