Elastic

Trait Elastic 

Source
pub trait Elastic
where Self: Solid,
{ // Provided methods fn cauchy_stress( &self, deformation_gradient: &DeformationGradient, ) -> Result<CauchyStress, ConstitutiveError> { ... } fn cauchy_tangent_stiffness( &self, deformation_gradient: &DeformationGradient, ) -> Result<CauchyTangentStiffness, ConstitutiveError> { ... } fn first_piola_kirchhoff_stress( &self, deformation_gradient: &DeformationGradient, ) -> Result<FirstPiolaKirchhoffStress, ConstitutiveError> { ... } fn first_piola_kirchhoff_tangent_stiffness( &self, deformation_gradient: &DeformationGradient, ) -> Result<FirstPiolaKirchhoffTangentStiffness, ConstitutiveError> { ... } fn second_piola_kirchhoff_stress( &self, deformation_gradient: &DeformationGradient, ) -> Result<SecondPiolaKirchhoffStress, ConstitutiveError> { ... } fn second_piola_kirchhoff_tangent_stiffness( &self, deformation_gradient: &DeformationGradient, ) -> Result<SecondPiolaKirchhoffTangentStiffness, ConstitutiveError> { ... } }
Expand description

Required methods for elastic constitutive models.

Provided Methods§

Source

fn cauchy_stress( &self, deformation_gradient: &DeformationGradient, ) -> Result<CauchyStress, ConstitutiveError>

Calculates and returns the Cauchy stress.

\boldsymbol{\sigma} = J^{-1}\mathbf{P}\cdot\mathbf{F}^T
Source

fn cauchy_tangent_stiffness( &self, deformation_gradient: &DeformationGradient, ) -> Result<CauchyTangentStiffness, ConstitutiveError>

Calculates and returns the tangent stiffness associated with the Cauchy stress.

\mathcal{T}_{ijkL} = \frac{\partial\sigma_{ij}}{\partial F_{kL}} = J^{-1} \mathcal{G}_{MNkL} F_{iM} F_{jN} - \sigma_{ij} F_{kL}^{-T} + \left(\delta_{jk}\sigma_{is} + \delta_{ik}\sigma_{js}\right)F_{sL}^{-T}
Source

fn first_piola_kirchhoff_stress( &self, deformation_gradient: &DeformationGradient, ) -> Result<FirstPiolaKirchhoffStress, ConstitutiveError>

Calculates and returns the first Piola-Kirchhoff stress.

\mathbf{P} = J\boldsymbol{\sigma}\cdot\mathbf{F}^{-T}
Source

fn first_piola_kirchhoff_tangent_stiffness( &self, deformation_gradient: &DeformationGradient, ) -> Result<FirstPiolaKirchhoffTangentStiffness, ConstitutiveError>

Calculates and returns the tangent stiffness associated with the first Piola-Kirchhoff stress.

\mathcal{C}_{iJkL} = \frac{\partial P_{iJ}}{\partial F_{kL}} = J \mathcal{T}_{iskL} F_{sJ}^{-T} + P_{iJ} F_{kL}^{-T} - P_{iL} F_{kJ}^{-T}
Source

fn second_piola_kirchhoff_stress( &self, deformation_gradient: &DeformationGradient, ) -> Result<SecondPiolaKirchhoffStress, ConstitutiveError>

Calculates and returns the second Piola-Kirchhoff stress.

\mathbf{S} = \mathbf{F}^{-1}\cdot\mathbf{P}
Source

fn second_piola_kirchhoff_tangent_stiffness( &self, deformation_gradient: &DeformationGradient, ) -> Result<SecondPiolaKirchhoffTangentStiffness, ConstitutiveError>

Calculates and returns the tangent stiffness associated with the second Piola-Kirchhoff stress.

\mathcal{G}_{IJkL} = \frac{\partial S_{IJ}}{\partial F_{kL}} = \mathcal{C}_{mJkL}F_{mI}^{-T} - S_{LJ}F_{kI}^{-T} = J \mathcal{T}_{mnkL} F_{mI}^{-T} F_{nJ}^{-T} + S_{IJ} F_{kL}^{-T} - S_{IL} F_{kJ}^{-T} -S_{LJ} F_{kI}^{-T}

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 Elastic for ArrudaBoyce

Source§

impl Elastic for Fung

Source§

impl Elastic for Gent

Source§

impl Elastic for conspire::constitutive::solid::hyperelastic::Hencky

Source§

impl Elastic for MooneyRivlin

Source§

impl Elastic for NeoHookean

Source§

impl Elastic for conspire::constitutive::solid::hyperelastic::SaintVenantKirchhoff

Source§

impl Elastic for AlmansiHamel

Source§

impl Elastic for conspire::constitutive::solid::elastic::Hencky

Source§

impl Elastic for conspire::constitutive::solid::elastic::SaintVenantKirchhoff

Source§

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

Source§

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

Source§

impl<const N: usize> Elastic for Yeoh<N>