pub struct BazantItskovEulerian {
pub bulk_modulus: Quantity<Stress>,
pub shear_modulus: Quantity<Stress>,
pub exponent: Scalar,
}Expand description
The Eulerian Bažant-Itskov 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 Eulerian Bažant-Itskov strain measure is given by $
\mathbf{h}^{(m)} = \tfrac{1}{2m}(\mathbf{V}^m - \mathbf{V}^{-m})$. - The model reduces to the hyperelastic Hencky model when $
m=0$. - This is the Eulerian counterpart of the Lagrangian Bažant-Itskov model.
Z.P. Bažant, J. Eng. Mater. Technol. 120, 131 (1998). ↩
M. Itskov, Mech. Res. Commun. 31, 507 (2004). ↩
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 BazantItskovEulerian
impl Clone for BazantItskovEulerian
Source§fn clone(&self) -> BazantItskovEulerian
fn clone(&self) -> BazantItskovEulerian
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 BazantItskovEulerian
impl Debug for BazantItskovEulerian
Source§impl Elastic for BazantItskovEulerian
impl Elastic for BazantItskovEulerian
Source§fn cauchy_stress(
&self,
deformation_gradient: &DeformationGradient,
) -> Result<CauchyStress, ConstitutiveError>
fn cauchy_stress( &self, deformation_gradient: &DeformationGradient, ) -> Result<CauchyStress, ConstitutiveError>
\boldsymbol{\sigma}(\mathbf{F}) = \frac{2\mu}{J}\,\mathbf{h}^{(m)}{}' + \frac{\kappa}{J}\,\mathrm{tr}\big(\mathbf{h}^{(m)}\big)\mathbf{1}Source§fn cauchy_tangent_stiffness(
&self,
deformation_gradient: &DeformationGradient,
) -> Result<CauchyTangentStiffness, ConstitutiveError>
fn cauchy_tangent_stiffness( &self, deformation_gradient: &DeformationGradient, ) -> Result<CauchyTangentStiffness, ConstitutiveError>
\mathcal{T}_{ijkL}(\mathbf{F}) = \frac{\mu}{J}\,\frac{\partial\big(B_{ij}^{m/2} - B_{ij}^{-m/2}\big)}{\partial F_{kL}} + \frac{\lambda}{2J}\,\delta_{ij}\big(B_{km}^{m/2-1} + B_{km}^{-m/2-1}\big)F_{mL} - \sigma_{ij}F_{kL}^{-T}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§fn second_piola_kirchhoff_stress(
&self,
deformation_gradient: &DeformationGradient,
) -> Result<SecondPiolaKirchhoffStress, ConstitutiveError>
fn second_piola_kirchhoff_stress( &self, deformation_gradient: &DeformationGradient, ) -> Result<SecondPiolaKirchhoffStress, ConstitutiveError>
Calculates and returns the second Piola-Kirchhoff stress. Read more
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>
Calculates and returns the tangent stiffness associated with the second Piola-Kirchhoff stress. Read more
Source§impl Solid for BazantItskovEulerian
impl Solid for BazantItskovEulerian
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 BazantItskovEulerian
impl RefUnwindSafe for BazantItskovEulerian
impl Send for BazantItskovEulerian
impl Sync for BazantItskovEulerian
impl Unpin for BazantItskovEulerian
impl UnsafeUnpin for BazantItskovEulerian
impl UnwindSafe for BazantItskovEulerian
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