Trait Hyperelastic

Source
pub trait Hyperelastic
where Self: Elastic,
{ // Required method fn helmholtz_free_energy_density( &self, deformation_gradient: &DeformationGradient, ) -> Result<Scalar, ConstitutiveError>; // Provided method fn minimize( &self, applied_load: AppliedLoad, ) -> Result<DeformationGradient, OptimizeError> { ... } }
Expand description

Required methods for hyperelastic constitutive models.

Required Methods§

Source

fn helmholtz_free_energy_density( &self, deformation_gradient: &DeformationGradient, ) -> Result<Scalar, ConstitutiveError>

Calculates and returns the Helmholtz free energy density.

a = a(\mathbf{F})

Provided Methods§

Source

fn minimize( &self, applied_load: AppliedLoad, ) -> Result<DeformationGradient, OptimizeError>

Solve for the unknown components of the deformation gradient under an applied load.

\Pi(\mathbf{F},\boldsymbol{\lambda}) = a(\mathbf{F}) - \boldsymbol{\lambda}:(\mathbf{F} - \mathbf{F}_0) - \mathbf{P}_0:\mathbf{F}

Implementors§

Source§

impl<C1, C2> Hyperelastic for Additive<C1, C2>
where C1: Hyperelastic, C2: Hyperelastic,

Source§

impl<C1, C2> Hyperelastic for Multiplicative<C1, C2>
where C1: Hyperelastic, C2: Hyperelastic,

Source§

impl<P> Hyperelastic for ArrudaBoyce<P>
where P: Parameters,

Source§

impl<P> Hyperelastic for Fung<P>
where P: Parameters,

Source§

impl<P> Hyperelastic for Gent<P>
where P: Parameters,

Source§

impl<P> Hyperelastic for MooneyRivlin<P>
where P: Parameters,

Source§

impl<P> Hyperelastic for NeoHookean<P>
where P: Parameters,

Source§

impl<P> Hyperelastic for SaintVenantKirchhoff<P>
where P: Parameters,

Source§

impl<P> Hyperelastic for Yeoh<P>
where P: Parameters,