ElasticHyperviscousFiniteElement

Trait ElasticHyperviscousFiniteElement 

Source
pub trait ElasticHyperviscousFiniteElement<C, const G: usize, const M: usize, const N: usize, const P: usize>
where C: ElasticHyperviscous, Self: ViscoelasticFiniteElement<C, G, M, N, P>,
{ // Required methods 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>; }

Required Methods§

Source

fn viscous_dissipation( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates<N>, nodal_velocities: &ElementNodalVelocities<N>, ) -> Result<Scalar, FiniteElementError>

Source

fn dissipation_potential( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates<N>, nodal_velocities: &ElementNodalVelocities<N>, ) -> Result<Scalar, FiniteElementError>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

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>,

Source§

impl<C, const G: usize, const N: usize, const O: usize, const P: usize> ElasticHyperviscousFiniteElement<C, G, 3, N, P> for Element<G, N, O>
where C: ElasticHyperviscous, Self: ViscoelasticFiniteElement<C, G, 3, N, P>,