pub struct SethHillLagrangian {
pub bulk_modulus: Quantity<Stress>,
pub shear_modulus: Quantity<Stress>,
pub exponent: Scalar,
}Expand description
The Lagrangian Seth-Hill elastic solid constitutive model.1,2
Parameters
- The bulk modulus $
\kappa$. - The shear modulus $
\mu$. - The exponent $
m$.
External variables
- The deformation gradient $
\mathbf{F}$.
Internal variables
- None.
Notes
- The Seth-Hill strain measure is given by $
\mathbf{E}^{(m)} = \tfrac{1}{m}(\mathbf{U}^m - \mathbf{1})$. - The model reduces to the elastic Hencky model when $
m=0$. - The model reduces to the hyperelastic Saint Venant-Kirchhoff model when $
m=2$. - The model reduces to the Lagrangian Almansi-Hamel model when $
m=-2$. - This is the Lagrangian counterpart of the Eulerian Seth-Hill model.
B.R. Seth, Generalized Strain Measure with Applications to Physical Problems, AD0266913 (1961). ↩
R. Hill, J. Mech. Phys. Solids 16, 229 (1968). ↩
Fields§
§bulk_modulus: Quantity<Stress>The bulk modulus $\kappa$.
shear_modulus: Quantity<Stress>The shear modulus $\mu$.
exponent: ScalarThe exponent $m$.
Implementations§
Trait Implementations§
Source§impl Clone for SethHillLagrangian
impl Clone for SethHillLagrangian
Source§fn clone(&self) -> SethHillLagrangian
fn clone(&self) -> SethHillLagrangian
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SethHillLagrangian
impl Debug for SethHillLagrangian
Source§impl Elastic for SethHillLagrangian
impl Elastic for SethHillLagrangian
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{E}^{(m)}{}' + \kappa\,\mathrm{tr}\big(\mathbf{E}^{(m)}\big)\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 C_{IJ}^{m/2}}{\partial F_{kL}} + \lambda\,\delta_{IJ}F_{kM}C_{ML}^{m/2-1}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 SethHillLagrangian
impl Solid for SethHillLagrangian
Source§fn bulk_modulus(&self) -> Quantity<Stress>
fn bulk_modulus(&self) -> Quantity<Stress>
Returns the bulk modulus.
Source§fn shear_modulus(&self) -> Quantity<Stress>
fn shear_modulus(&self) -> Quantity<Stress>
Returns the shear modulus.
Source§fn jacobian<I, J>(
&self,
deformation_gradient: &DeformationGradientGeneral<I, J>,
) -> Result<Scalar, ConstitutiveError>
fn jacobian<I, J>( &self, deformation_gradient: &DeformationGradientGeneral<I, J>, ) -> Result<Scalar, ConstitutiveError>
Calculates and returns the Jacobian.
Auto Trait Implementations§
impl Freeze for SethHillLagrangian
impl RefUnwindSafe for SethHillLagrangian
impl Send for SethHillLagrangian
impl Sync for SethHillLagrangian
impl Unpin for SethHillLagrangian
impl UnsafeUnpin for SethHillLagrangian
impl UnwindSafe for SethHillLagrangian
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,
impl<C> Constitutive for Cwhere
C: Solid,
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, Current, Reference, Stress>, TensorRank4<3, Current, Reference, Current, Reference, Stress>, TensorRank2<3, Current, Reference>>,
) -> Result<TensorRank2<3, Current, Reference>, ConstitutiveError>
fn root( &self, applied_load: AppliedLoad, solver: impl FirstOrderRootFinding<TensorRank2<3, Current, Reference, Stress>, TensorRank4<3, Current, Reference, Current, Reference, Stress>, TensorRank2<3, Current, Reference>>, ) -> Result<TensorRank2<3, Current, Reference>, ConstitutiveError>
Solve for the unknown components of the deformation gradient under an applied load. Read more
impl<T> Is<T> for T
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, Current, Reference, Stress>, TensorRank2<3, Current, Reference>>,
) -> Result<TensorRank2<3, Current, Reference>, ConstitutiveError>
fn root( &self, applied_load: AppliedLoad, solver: impl ZerothOrderRootFinding<TensorRank2<3, Current, Reference, Stress>, TensorRank2<3, Current, Reference>>, ) -> Result<TensorRank2<3, Current, Reference>, ConstitutiveError>
Solve for the unknown components of the deformation gradient under an applied load. Read more