pub struct Hencky {
pub bulk_modulus: Scalar,
pub shear_modulus: Scalar,
}Expand description
The Hencky elastic solid constitutive model.
Parameters
- The bulk modulus $
\kappa$. - The shear modulus $
\mu$.
External variables
- The deformation gradient $
\mathbf{F}$.
Internal variables
- None.
Notes
- The Hencky strain measure is given by $
\mathbf{H}=\tfrac{1}{2}\ln(\mathbf{C})$.
Fields§
§bulk_modulus: ScalarThe bulk modulus $\kappa$.
shear_modulus: ScalarThe shear modulus $\mu$.
Trait Implementations§
Source§impl Elastic for Hencky
impl Elastic for Hencky
Source§fn second_piola_kirchhoff_stress(
&self,
deformation_gradient: &DeformationGradient,
) -> Result<SecondPiolaKirchhoffStress, ConstitutiveError>
fn second_piola_kirchhoff_stress( &self, deformation_gradient: &DeformationGradient, ) -> Result<SecondPiolaKirchhoffStress, ConstitutiveError>
\mathbf{S}(\mathbf{F}) = 2\mu\mathbf{H}' + \kappa\,\mathrm{tr}(\mathbf{H})\mathbf{1}Source§fn second_piola_kirchhoff_tangent_stiffness(
&self,
deformation_gradient: &DeformationGradient,
) -> Result<SecondPiolaKirchhoffTangentStiffness, ConstitutiveError>
fn second_piola_kirchhoff_tangent_stiffness( &self, deformation_gradient: &DeformationGradient, ) -> Result<SecondPiolaKirchhoffTangentStiffness, ConstitutiveError>
\mathcal{G}_{IJkL}(\mathbf{F}) = \mu\,\frac{\partial\ln C_{IJ}}{\partial F_{kL}} + \left(\kappa - \frac{2}{3}\,\mu\right)\delta_{ij}F_{kL}^{-T}Source§fn cauchy_stress(
&self,
deformation_gradient: &DeformationGradient,
) -> Result<CauchyStress, ConstitutiveError>
fn cauchy_stress( &self, deformation_gradient: &DeformationGradient, ) -> Result<CauchyStress, ConstitutiveError>
Calculates and returns the Cauchy stress. Read more
Source§fn cauchy_tangent_stiffness(
&self,
deformation_gradient: &DeformationGradient,
) -> Result<CauchyTangentStiffness, ConstitutiveError>
fn cauchy_tangent_stiffness( &self, deformation_gradient: &DeformationGradient, ) -> Result<CauchyTangentStiffness, ConstitutiveError>
Calculates and returns the tangent stiffness associated with the Cauchy stress. Read more
Source§fn first_piola_kirchhoff_stress(
&self,
deformation_gradient: &DeformationGradient,
) -> Result<FirstPiolaKirchhoffStress, ConstitutiveError>
fn first_piola_kirchhoff_stress( &self, deformation_gradient: &DeformationGradient, ) -> Result<FirstPiolaKirchhoffStress, ConstitutiveError>
Calculates and returns the first Piola-Kirchhoff stress. Read more
Source§fn first_piola_kirchhoff_tangent_stiffness(
&self,
deformation_gradient: &DeformationGradient,
) -> Result<FirstPiolaKirchhoffTangentStiffness, ConstitutiveError>
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. Read more
Source§impl Solid for Hencky
impl Solid for Hencky
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§fn jacobian<const I: usize, const J: usize>(
&self,
deformation_gradient: &DeformationGradientGeneral<I, J>,
) -> Result<Scalar, ConstitutiveError>
fn jacobian<const I: usize, const J: usize>( &self, deformation_gradient: &DeformationGradientGeneral<I, J>, ) -> Result<Scalar, ConstitutiveError>
Calculates and returns the Jacobian.
Auto Trait Implementations§
impl Freeze for Hencky
impl RefUnwindSafe for Hencky
impl Send for Hencky
impl Sync for Hencky
impl Unpin for Hencky
impl UnwindSafe for Hencky
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FirstOrderRoot for Twhere
T: Elastic,
impl<T> FirstOrderRoot for Twhere
T: Elastic,
Source§fn root(
&self,
applied_load: AppliedLoad,
solver: impl FirstOrderRootFinding<TensorRank2<3, 1, 0>, TensorRank4<3, 1, 0, 1, 0>, TensorRank2<3, 1, 0>>,
) -> Result<TensorRank2<3, 1, 0>, ConstitutiveError>
fn root( &self, applied_load: AppliedLoad, solver: impl FirstOrderRootFinding<TensorRank2<3, 1, 0>, TensorRank4<3, 1, 0, 1, 0>, TensorRank2<3, 1, 0>>, ) -> Result<TensorRank2<3, 1, 0>, ConstitutiveError>
Solve for the unknown components of the deformation gradient under an applied load. Read more
Source§impl<T> ZerothOrderRoot for Twhere
T: Elastic,
impl<T> ZerothOrderRoot for Twhere
T: Elastic,
Source§fn root(
&self,
applied_load: AppliedLoad,
solver: impl ZerothOrderRootFinding<TensorRank2<3, 1, 0>>,
) -> Result<TensorRank2<3, 1, 0>, ConstitutiveError>
fn root( &self, applied_load: AppliedLoad, solver: impl ZerothOrderRootFinding<TensorRank2<3, 1, 0>>, ) -> Result<TensorRank2<3, 1, 0>, ConstitutiveError>
Solve for the unknown components of the deformation gradient under an applied load. Read more