pub struct AlmansiHamel<P> { /* private fields */ }
Expand description
The Almansi-Hamel viscoelastic constitutive model.
Parameters
- The bulk modulus $
\kappa
$. - The shear modulus $
\mu
$. - The bulk viscosity $
\zeta
$. - The shear viscosity $
\eta
$.
External variables
- The deformation gradient $
\mathbf{F}
$. - The deformation gradient rate $
\dot{\mathbf{F}}
$.
Internal variables
- None.
Notes
- The Almansi-Hamel strain measure is given by $
\mathbf{e}=\tfrac{1}{2}(\mathbf{1}-\mathbf{B}^{-1})
$.
Trait Implementations§
Source§impl<P> Constitutive<P> for AlmansiHamel<P>where
P: Parameters,
impl<P> Constitutive<P> for AlmansiHamel<P>where
P: Parameters,
Source§fn jacobian(
&self,
deformation_gradient: &DeformationGradient,
) -> Result<Scalar, ConstitutiveError>
fn jacobian( &self, deformation_gradient: &DeformationGradient, ) -> Result<Scalar, ConstitutiveError>
Calculates and returns the Jacobian.
Source§impl<P: Debug> Debug for AlmansiHamel<P>
impl<P: Debug> Debug for AlmansiHamel<P>
Source§impl<P> ElasticHyperviscous for AlmansiHamel<P>where
P: Parameters,
impl<P> ElasticHyperviscous for AlmansiHamel<P>where
P: Parameters,
Source§fn viscous_dissipation(
&self,
deformation_gradient: &DeformationGradient,
deformation_gradient_rate: &DeformationGradientRate,
) -> Result<Scalar, ConstitutiveError>
fn viscous_dissipation( &self, deformation_gradient: &DeformationGradient, deformation_gradient_rate: &DeformationGradientRate, ) -> Result<Scalar, ConstitutiveError>
Calculates and returns the viscous dissipation.
\phi(\mathbf{F},\dot{\mathbf{F}}) = \eta\,\mathrm{tr}(\mathbf{D}^2) + \frac{1}{2}\left(\zeta - \frac{2}{3}\,\eta\right)\mathrm{tr}(\mathbf{D})^2
Source§fn dissipation_potential(
&self,
deformation_gradient: &DeformationGradient,
deformation_gradient_rate: &DeformationGradientRate,
) -> Result<Scalar, ConstitutiveError>
fn dissipation_potential( &self, deformation_gradient: &DeformationGradient, deformation_gradient_rate: &DeformationGradientRate, ) -> Result<Scalar, ConstitutiveError>
Calculates and returns the dissipation potential. Read more
Source§fn minimize_uniaxial(
&self,
deformation_gradient_rate_11: impl Fn(Scalar) -> Scalar,
integrator: impl Explicit<DeformationGradientRate, DeformationGradientRates>,
time: &[Scalar],
) -> Result<(Times, DeformationGradients, DeformationGradientRates), IntegrationError>
fn minimize_uniaxial( &self, deformation_gradient_rate_11: impl Fn(Scalar) -> Scalar, integrator: impl Explicit<DeformationGradientRate, DeformationGradientRates>, time: &[Scalar], ) -> Result<(Times, DeformationGradients, DeformationGradientRates), IntegrationError>
Solve for the unknown components of the deformation gradient and rate under an applied load. Read more
Source§fn root_uniaxial(
&self,
deformation_gradient_rate_11: impl Fn(Scalar) -> Scalar,
integrator: impl Explicit<DeformationGradientRate, DeformationGradientRates>,
time: &[Scalar],
) -> Result<(Times, DeformationGradients, DeformationGradientRates), IntegrationError>
fn root_uniaxial( &self, deformation_gradient_rate_11: impl Fn(Scalar) -> Scalar, integrator: impl Explicit<DeformationGradientRate, DeformationGradientRates>, time: &[Scalar], ) -> Result<(Times, DeformationGradients, DeformationGradientRates), IntegrationError>
Solve for the unknown components of the deformation gradient and rate under an applied load. Read more
Source§impl<P> Solid for AlmansiHamel<P>where
P: Parameters,
impl<P> Solid for AlmansiHamel<P>where
P: Parameters,
Source§fn bulk_modulus(&self) -> &Scalar
fn bulk_modulus(&self) -> &Scalar
Returns the bulk modulus.
Source§fn shear_modulus(&self) -> &Scalar
fn shear_modulus(&self) -> &Scalar
Returns the shear modulus.
Source§impl<P> Viscoelastic for AlmansiHamel<P>where
P: Parameters,
impl<P> Viscoelastic for AlmansiHamel<P>where
P: Parameters,
Source§fn cauchy_stress(
&self,
deformation_gradient: &DeformationGradient,
deformation_gradient_rate: &DeformationGradientRate,
) -> Result<CauchyStress, ConstitutiveError>
fn cauchy_stress( &self, deformation_gradient: &DeformationGradient, deformation_gradient_rate: &DeformationGradientRate, ) -> Result<CauchyStress, ConstitutiveError>
Calculates and returns the Cauchy stress.
\boldsymbol{\sigma}(\mathbf{F},\dot\mathbf{F}) = 2\mu\mathbf{e}' + \kappa\,\mathrm{tr}(\mathbf{e})\mathbf{1} + 2\eta\mathbf{D}' + \zeta\,\mathrm{tr}(\mathbf{D})\mathbf{1}
Source§fn cauchy_rate_tangent_stiffness(
&self,
deformation_gradient: &DeformationGradient,
_: &DeformationGradientRate,
) -> Result<CauchyRateTangentStiffness, ConstitutiveError>
fn cauchy_rate_tangent_stiffness( &self, deformation_gradient: &DeformationGradient, _: &DeformationGradientRate, ) -> Result<CauchyRateTangentStiffness, ConstitutiveError>
Calculates and returns the rate tangent stiffness associated with the Cauchy stress.
\mathcal{V}_{IJkL}(\mathbf{F}) = \eta\,\delta_{ik}F_{jL}^{-T} + \eta\,\delta_{jk}F_{iL}^{-T} + \left(\zeta - \frac{2}{3}\,\eta\right)\delta_{ij}F_{kL}^{-T}
Source§fn first_piola_kirchhoff_stress(
&self,
deformation_gradient: &DeformationGradient,
deformation_gradient_rate: &DeformationGradientRate,
) -> Result<FirstPiolaKirchhoffStress, ConstitutiveError>
fn first_piola_kirchhoff_stress( &self, deformation_gradient: &DeformationGradient, deformation_gradient_rate: &DeformationGradientRate, ) -> Result<FirstPiolaKirchhoffStress, ConstitutiveError>
Calculates and returns the first Piola-Kirchhoff stress. Read more
Source§fn first_piola_kirchhoff_rate_tangent_stiffness(
&self,
deformation_gradient: &DeformationGradient,
deformation_gradient_rate: &DeformationGradientRate,
) -> Result<FirstPiolaKirchhoffRateTangentStiffness, ConstitutiveError>
fn first_piola_kirchhoff_rate_tangent_stiffness( &self, deformation_gradient: &DeformationGradient, deformation_gradient_rate: &DeformationGradientRate, ) -> Result<FirstPiolaKirchhoffRateTangentStiffness, ConstitutiveError>
Calculates and returns the rate tangent stiffness associated with the first Piola-Kirchhoff stress. Read more
Source§fn second_piola_kirchhoff_stress(
&self,
deformation_gradient: &DeformationGradient,
deformation_gradient_rate: &DeformationGradientRate,
) -> Result<SecondPiolaKirchhoffStress, ConstitutiveError>
fn second_piola_kirchhoff_stress( &self, deformation_gradient: &DeformationGradient, deformation_gradient_rate: &DeformationGradientRate, ) -> Result<SecondPiolaKirchhoffStress, ConstitutiveError>
Calculates and returns the second Piola-Kirchhoff stress. Read more
Source§fn second_piola_kirchhoff_rate_tangent_stiffness(
&self,
deformation_gradient: &DeformationGradient,
deformation_gradient_rate: &DeformationGradientRate,
) -> Result<SecondPiolaKirchhoffRateTangentStiffness, ConstitutiveError>
fn second_piola_kirchhoff_rate_tangent_stiffness( &self, deformation_gradient: &DeformationGradient, deformation_gradient_rate: &DeformationGradientRate, ) -> Result<SecondPiolaKirchhoffRateTangentStiffness, ConstitutiveError>
Calculates and returns the rate tangent stiffness associated with the second Piola-Kirchhoff stress. Read more
Source§impl<P> Viscous for AlmansiHamel<P>where
P: Parameters,
impl<P> Viscous for AlmansiHamel<P>where
P: Parameters,
Source§fn bulk_viscosity(&self) -> &Scalar
fn bulk_viscosity(&self) -> &Scalar
Returns the bulk viscosity.
Source§fn shear_viscosity(&self) -> &Scalar
fn shear_viscosity(&self) -> &Scalar
Returns the shear viscosity.
Auto Trait Implementations§
impl<P> Freeze for AlmansiHamel<P>where
P: Freeze,
impl<P> RefUnwindSafe for AlmansiHamel<P>where
P: RefUnwindSafe,
impl<P> Send for AlmansiHamel<P>where
P: Send,
impl<P> Sync for AlmansiHamel<P>where
P: Sync,
impl<P> Unpin for AlmansiHamel<P>where
P: Unpin,
impl<P> UnwindSafe for AlmansiHamel<P>where
P: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more