Skip to main content

HyperelasticElements

Trait HyperelasticElements 

Source
pub trait HyperelasticElements<const D: usize>
where Self: ElasticElements<D>,
{ // Required methods fn helmholtz_free_energy( &self, nodal_coordinates: &NodalCoordinates<D>, ) -> Result<Quantity<Energy>, ElementModelError>; fn nodal_stiffnesses_symmetric_into( &self, nodal_coordinates: &NodalCoordinates<D>, nodal_stiffnesses: &mut NodalStiffnessesSolidSymmetric<D>, ) -> Result<(), ElementModelError>; // Provided method fn nodal_stiffnesses_symmetric( &self, nodal_coordinates: &NodalCoordinates<D>, ) -> Result<NodalStiffnessesSolidSymmetric<D>, ElementModelError> { ... } }

Required Methods§

Provided Methods§

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<B1, B2, const D: usize> HyperelasticElements<D> for Blocks<B1, B2>

Source§

impl<B, const D: usize> HyperelasticElements<D> for Model<B, D>

Source§

impl<C, F, const G: usize, const M: usize, const N: usize, const P: usize> HyperelasticElements<3> for conspire::fem::block::Block<C, F, G, M, N, P>
where C: Hyperelastic, F: HyperelasticFiniteElement<C, G, M, N, P>, Self: ElasticElements<3>,

Source§

impl<C, F, const G: usize, const N: usize, const P: usize> HyperelasticElements<2> for conspire::fem::block::Block<C, F, G, 2, N, P>

Source§

impl<C, F> HyperelasticElements<3> for conspire::vem::block::Block<C, F>