Trait HyperelasticFiniteElementBlock

Source
pub trait HyperelasticFiniteElementBlock<C, F, const G: usize, const N: usize>
where C: Hyperelastic, F: HyperelasticFiniteElement<C, G, N>, Self: ElasticFiniteElementBlock<C, F, G, N>,
{ // Required methods fn helmholtz_free_energy( &self, nodal_coordinates: &NodalCoordinatesBlock, ) -> Result<Scalar, ConstitutiveError>; fn minimize( &self, initial_coordinates: NodalCoordinatesBlock, optimization: NewtonRaphson, equality_constraint: EqualityConstraint, ) -> Result<NodalCoordinatesBlock, OptimizeError>; }

Required Methods§

Source

fn helmholtz_free_energy( &self, nodal_coordinates: &NodalCoordinatesBlock, ) -> Result<Scalar, ConstitutiveError>

Source

fn minimize( &self, initial_coordinates: NodalCoordinatesBlock, optimization: NewtonRaphson, equality_constraint: EqualityConstraint, ) -> Result<NodalCoordinatesBlock, OptimizeError>

Implementors§

Source§

impl<C, F, const G: usize, const N: usize> HyperelasticFiniteElementBlock<C, F, G, N> for ElementBlock<F, N>
where C: Hyperelastic, F: HyperelasticFiniteElement<C, G, N>, Self: ElasticFiniteElementBlock<C, F, G, N>,