pub struct SurfaceElement<const G: usize, const N: usize, const O: usize> { /* private fields */ }Implementations§
Source§impl<const G: usize, const N: usize, const O: usize> SurfaceElement<G, N, O>
impl<const G: usize, const N: usize, const O: usize> SurfaceElement<G, N, O>
pub fn gradient_vectors(&self) -> &GradientVectors<G, N>
pub fn reference_normals(&self) -> &ReferenceNormals<G>
Trait Implementations§
Source§impl<C, const G: usize, const N: usize, const O: usize> ElasticFiniteElement<C, G, 2, N, N> for SurfaceElement<G, N, O>where
C: Elastic,
Self: SolidFiniteElement<G, 2, N, N>,
impl<C, const G: usize, const N: usize, const O: usize> ElasticFiniteElement<C, G, 2, N, N> for SurfaceElement<G, N, O>where
C: Elastic,
Self: SolidFiniteElement<G, 2, N, N>,
fn nodal_forces( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates<N>, ) -> Result<ElementNodalForcesSolid<N>, FiniteElementError>
fn nodal_stiffnesses( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates<N>, ) -> Result<ElementNodalStiffnessesSolid<N>, FiniteElementError>
Source§impl<C, const G: usize, const N: usize, const O: usize, const P: usize> ElasticHyperviscousFiniteElement<C, G, 2, N, P> for SurfaceElement<G, N, O>where
C: ElasticHyperviscous,
Self: ViscoelasticFiniteElement<C, G, 2, N, P>,
impl<C, const G: usize, const N: usize, const O: usize, const P: usize> ElasticHyperviscousFiniteElement<C, G, 2, N, P> for SurfaceElement<G, N, O>where
C: ElasticHyperviscous,
Self: ViscoelasticFiniteElement<C, G, 2, N, P>,
fn viscous_dissipation( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates<N>, nodal_velocities: &ElementNodalVelocities<N>, ) -> Result<Scalar, FiniteElementError>
fn dissipation_potential( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates<N>, nodal_velocities: &ElementNodalVelocities<N>, ) -> Result<Scalar, FiniteElementError>
Source§impl<const G: usize, const N: usize, const O: usize> From<(TensorList<TensorRank1<3, 0>, N>, f64)> for SurfaceElement<G, N, O>where
Self: SurfaceFiniteElement<G, N, N>,
impl<const G: usize, const N: usize, const O: usize> From<(TensorList<TensorRank1<3, 0>, N>, f64)> for SurfaceElement<G, N, O>where
Self: SurfaceFiniteElement<G, N, N>,
Source§fn from(
(reference_nodal_coordinates, thickness): (ElementNodalReferenceCoordinates<N>, Scalar),
) -> Self
fn from( (reference_nodal_coordinates, thickness): (ElementNodalReferenceCoordinates<N>, Scalar), ) -> Self
Converts to this type from the input type.
Source§impl<C, const G: usize, const N: usize, const O: usize, const P: usize> HyperelasticFiniteElement<C, G, 2, N, P> for SurfaceElement<G, N, O>where
C: Hyperelastic,
Self: ElasticFiniteElement<C, G, 2, N, P>,
impl<C, const G: usize, const N: usize, const O: usize, const P: usize> HyperelasticFiniteElement<C, G, 2, N, P> for SurfaceElement<G, N, O>where
C: Hyperelastic,
Self: ElasticFiniteElement<C, G, 2, N, P>,
fn helmholtz_free_energy( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates<N>, ) -> Result<Scalar, FiniteElementError>
Source§impl<C, const G: usize, const N: usize, const O: usize, const P: usize> HyperviscoelasticFiniteElement<C, G, 2, N, P> for SurfaceElement<G, N, O>where
C: Hyperviscoelastic,
Self: ElasticHyperviscousFiniteElement<C, G, 2, N, P>,
impl<C, const G: usize, const N: usize, const O: usize, const P: usize> HyperviscoelasticFiniteElement<C, G, 2, N, P> for SurfaceElement<G, N, O>where
C: Hyperviscoelastic,
Self: ElasticHyperviscousFiniteElement<C, G, 2, N, P>,
fn helmholtz_free_energy( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates<N>, ) -> Result<Scalar, FiniteElementError>
Source§impl<const G: usize, const N: usize, const O: usize> SolidFiniteElement<G, 2, N, N> for SurfaceElement<G, N, O>where
Self: SurfaceFiniteElement<G, N, N>,
impl<const G: usize, const N: usize, const O: usize> SolidFiniteElement<G, 2, N, N> for SurfaceElement<G, N, O>where
Self: SurfaceFiniteElement<G, N, N>,
fn deformation_gradients( &self, nodal_coordinates: &ElementNodalCoordinates<N>, ) -> DeformationGradientList<G>
fn deformation_gradient_rates( &self, nodal_coordinates: &ElementNodalCoordinates<N>, nodal_velocities: &ElementNodalVelocities<N>, ) -> DeformationGradientRateList<G>
Source§impl<const G: usize, const N: usize, const O: usize, const P: usize> SurfaceFiniteElement<G, N, P> for SurfaceElement<G, N, O>where
Self: FiniteElement<G, M, N, P>,
impl<const G: usize, const N: usize, const O: usize, const P: usize> SurfaceFiniteElement<G, N, P> for SurfaceElement<G, N, O>where
Self: FiniteElement<G, M, N, P>,
fn bases<const I: usize>( nodal_coordinates: &ElementNodalEitherCoordinates<I, P>, ) -> SurfaceBases<I, G>
fn dual_bases<const I: usize>( nodal_coordinates: &ElementNodalEitherCoordinates<I, P>, ) -> SurfaceBases<I, G>
fn normals(nodal_coordinates: &ElementNodalCoordinates<P>) -> Normals<G>
fn normal_gradients( nodal_coordinates: &ElementNodalCoordinates<P>, ) -> NormalGradients<P, G>
fn normal_rates( nodal_coordinates: &ElementNodalCoordinates<P>, nodal_velocities: &ElementNodalVelocities<P>, ) -> NormalRates<G>
Source§impl<C, const G: usize, const N: usize, const O: usize> ViscoelasticFiniteElement<C, G, 2, N, N> for SurfaceElement<G, N, O>where
C: Viscoelastic,
Self: SolidFiniteElement<G, 2, N, N>,
impl<C, const G: usize, const N: usize, const O: usize> ViscoelasticFiniteElement<C, G, 2, N, N> for SurfaceElement<G, N, O>where
C: Viscoelastic,
Self: SolidFiniteElement<G, 2, N, N>,
fn nodal_forces( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates<N>, nodal_velocities: &ElementNodalVelocities<N>, ) -> Result<ElementNodalForcesSolid<N>, FiniteElementError>
fn nodal_stiffnesses( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates<N>, nodal_velocities: &ElementNodalVelocities<N>, ) -> Result<ElementNodalStiffnessesSolid<N>, FiniteElementError>
Auto Trait Implementations§
impl<const G: usize, const N: usize, const O: usize> Freeze for SurfaceElement<G, N, O>
impl<const G: usize, const N: usize, const O: usize> RefUnwindSafe for SurfaceElement<G, N, O>
impl<const G: usize, const N: usize, const O: usize> Send for SurfaceElement<G, N, O>
impl<const G: usize, const N: usize, const O: usize> Sync for SurfaceElement<G, N, O>
impl<const G: usize, const N: usize, const O: usize> Unpin for SurfaceElement<G, N, O>
impl<const G: usize, const N: usize, const O: usize> UnwindSafe for SurfaceElement<G, N, O>
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