Struct fenris::element::Tri3d3Element
source · pub struct Tri3d3Element<T>where
T: Scalar,{ /* private fields */ }
Expand description
A (surface) finite element representing linear basis functions on a triangle, in three dimensions.
The reference element is chosen to be the triangle defined by the corners (-1, -1), (1, -1), (-1, 1). This perhaps unorthodox choice is due to the quadrature rules we employ.
Implementations§
Trait Implementations§
source§impl<T: Real> BoundsForElement<T> for Tri3d3Element<T>
impl<T: Real> BoundsForElement<T> for Tri3d3Element<T>
fn element_bounds(&self) -> AxisAlignedBoundingBox<T, Self::GeometryDim>
source§impl<T> Clone for Tri3d3Element<T>where
T: Scalar + Clone,
impl<T> Clone for Tri3d3Element<T>where T: Scalar + Clone,
source§fn clone(&self) -> Tri3d3Element<T>
fn clone(&self) -> Tri3d3Element<T>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<T: Real> ClosestPointInElement<T> for Tri3d3Element<T>
impl<T: Real> ClosestPointInElement<T> for Tri3d3Element<T>
fn closest_point( &self, p: &OPoint<T, Self::GeometryDim> ) -> ClosestPoint<T, Self::ReferenceDim>
source§impl<T> FiniteElement<T> for Tri3d3Element<T>where
T: Real,
impl<T> FiniteElement<T> for Tri3d3Element<T>where T: Real,
type GeometryDim = Const<3>
source§fn reference_jacobian(&self, xi: &Point2<T>) -> Matrix3x2<T>
fn reference_jacobian(&self, xi: &Point2<T>) -> Matrix3x2<T>
Compute the Jacobian of the transformation from the reference element to the given
element at the given reference coordinates.
source§fn map_reference_coords(&self, xi: &Point2<T>) -> Point3<T>
fn map_reference_coords(&self, xi: &Point2<T>) -> Point3<T>
Maps reference coordinates to physical coordinates in the element.
source§impl<T> FixedNodesReferenceFiniteElement<T> for Tri3d3Element<T>where
T: Real,
impl<T> FixedNodesReferenceFiniteElement<T> for Tri3d3Element<T>where T: Real,
source§impl<'a, T: Scalar> From<&'a Tri3d3Element<T>> for Triangle3d<T>
impl<'a, T: Scalar> From<&'a Tri3d3Element<T>> for Triangle3d<T>
source§fn from(element: &'a Tri3d3Element<T>) -> Self
fn from(element: &'a Tri3d3Element<T>) -> Self
Converts to this type from the input type.
source§impl<T> From<Triangle<T, Const<3>>> for Tri3d3Element<T>where
T: Scalar,
impl<T> From<Triangle<T, Const<3>>> for Tri3d3Element<T>where T: Scalar,
source§fn from(triangle: Triangle3d<T>) -> Self
fn from(triangle: Triangle3d<T>) -> Self
Converts to this type from the input type.
source§impl<T> PartialEq<Tri3d3Element<T>> for Tri3d3Element<T>where
T: Scalar + PartialEq,
impl<T> PartialEq<Tri3d3Element<T>> for Tri3d3Element<T>where T: Scalar + PartialEq,
source§fn eq(&self, other: &Tri3d3Element<T>) -> bool
fn eq(&self, other: &Tri3d3Element<T>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<T> ReferenceFiniteElement<T> for Tri3d3Element<T>where
T: Scalar,
Tri3d3Element<T>: FixedNodesReferenceFiniteElement<T>,
DefaultAllocator: BiDimAllocator<T, <Tri3d3Element<T> as FixedNodesReferenceFiniteElement<T>>::NodalDim, <Tri3d3Element<T> as FixedNodesReferenceFiniteElement<T>>::ReferenceDim>,
impl<T> ReferenceFiniteElement<T> for Tri3d3Element<T>where T: Scalar, Tri3d3Element<T>: FixedNodesReferenceFiniteElement<T>, DefaultAllocator: BiDimAllocator<T, <Tri3d3Element<T> as FixedNodesReferenceFiniteElement<T>>::NodalDim, <Tri3d3Element<T> as FixedNodesReferenceFiniteElement<T>>::ReferenceDim>,
type ReferenceDim = <Tri3d3Element<T> as FixedNodesReferenceFiniteElement<T>>::ReferenceDim
source§fn populate_basis(
&self,
result: &mut [T],
reference_coords: &OPoint<T, Self::ReferenceDim>
)
fn populate_basis( &self, result: &mut [T], reference_coords: &OPoint<T, Self::ReferenceDim> )
Evaluates each basis function at the given reference coordinates. The result is given
in a row vector where each entry is the value of the corresponding basis function. Read more
source§fn populate_basis_gradients(
&self,
result: MatrixViewMut<'_, T, Self::ReferenceDim, Dyn>,
reference_coords: &OPoint<T, Self::ReferenceDim>
)
fn populate_basis_gradients( &self, result: MatrixViewMut<'_, T, Self::ReferenceDim, Dyn>, reference_coords: &OPoint<T, Self::ReferenceDim> )
Given nodal weights, construct a matrix whose columns are the
gradients of each shape function in the element.
source§impl<T> SurfaceFiniteElement<T> for Tri3d3Element<T>where
T: Real,
impl<T> SurfaceFiniteElement<T> for Tri3d3Element<T>where T: Real,
impl<T> Copy for Tri3d3Element<T>where T: Scalar + Copy,
impl<T> Eq for Tri3d3Element<T>where T: Scalar + Eq,
impl<T> StructuralEq for Tri3d3Element<T>where T: Scalar,
impl<T> StructuralPartialEq for Tri3d3Element<T>where T: Scalar,
Auto Trait Implementations§
impl<T> RefUnwindSafe for Tri3d3Element<T>where T: RefUnwindSafe,
impl<T> Send for Tri3d3Element<T>where T: Send,
impl<T> Sync for Tri3d3Element<T>where T: Sync,
impl<T> Unpin for Tri3d3Element<T>where T: Unpin,
impl<T> UnwindSafe for Tri3d3Element<T>where T: UnwindSafe,
Blanket Implementations§
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> Pointable for T
impl<T> Pointable 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>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.