pub struct Multiplicative<C1, C2> { /* private fields */ }
Expand description
A hybrid constitutive model based on the multiplicative decomposition.
Trait Implementations§
Source§impl<C1, C2> Elastic for Multiplicative<C1, C2>
impl<C1, C2> Elastic for Multiplicative<C1, C2>
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.
\boldsymbol{\sigma}(\mathbf{F}) = \frac{1}{J_2}\,\boldsymbol{\sigma}_1(\mathbf{F}_1)
Source§fn cauchy_tangent_stiffness(
&self,
_: &DeformationGradient,
) -> Result<CauchyTangentStiffness, ConstitutiveError>
fn cauchy_tangent_stiffness( &self, _: &DeformationGradient, ) -> Result<CauchyTangentStiffness, ConstitutiveError>
Dummy method that will panic.
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.
\mathbf{P}(\mathbf{F}) = \mathbf{P}_1(\mathbf{F}_1)\cdot\mathbf{F}_2^{-T}
Source§fn first_piola_kirchhoff_tangent_stiffness(
&self,
_: &DeformationGradient,
) -> Result<FirstPiolaKirchhoffTangentStiffness, ConstitutiveError>
fn first_piola_kirchhoff_tangent_stiffness( &self, _: &DeformationGradient, ) -> Result<FirstPiolaKirchhoffTangentStiffness, ConstitutiveError>
Dummy method that will panic.
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.
\mathbf{S}(\mathbf{F}) = \mathbf{F}_2^{-1}\cdot\mathbf{S}_1(\mathbf{F}_1)\cdot\mathbf{F}_2^{-T}
Source§fn second_piola_kirchhoff_tangent_stiffness(
&self,
_: &DeformationGradient,
) -> Result<SecondPiolaKirchhoffTangentStiffness, ConstitutiveError>
fn second_piola_kirchhoff_tangent_stiffness( &self, _: &DeformationGradient, ) -> Result<SecondPiolaKirchhoffTangentStiffness, ConstitutiveError>
Dummy method that will panic.
Source§fn root(
&self,
applied_load: AppliedLoad,
) -> Result<DeformationGradient, OptimizeError>
fn root( &self, applied_load: AppliedLoad, ) -> Result<DeformationGradient, OptimizeError>
Solve for the unknown components of the deformation gradient under an applied load. Read more
Source§impl<C1, C2> Hybrid<C1, C2> for Multiplicative<C1, C2>
impl<C1, C2> Hybrid<C1, C2> for Multiplicative<C1, C2>
Source§fn construct(constitutive_model_1: C1, constitutive_model_2: C2) -> Self
fn construct(constitutive_model_1: C1, constitutive_model_2: C2) -> Self
Constructs and returns a new hybrid constitutive model.
Source§fn constitutive_model_1(&self) -> &C1
fn constitutive_model_1(&self) -> &C1
Returns a reference to the first constitutive model.
Source§fn constitutive_model_2(&self) -> &C2
fn constitutive_model_2(&self) -> &C2
Returns a reference to the second constitutive model.
Source§impl<C1, C2> Hyperelastic for Multiplicative<C1, C2>where
C1: Hyperelastic,
C2: Hyperelastic,
impl<C1, C2> Hyperelastic for Multiplicative<C1, C2>where
C1: Hyperelastic,
C2: Hyperelastic,
Source§fn helmholtz_free_energy_density(
&self,
deformation_gradient: &DeformationGradient,
) -> Result<Scalar, ConstitutiveError>
fn helmholtz_free_energy_density( &self, deformation_gradient: &DeformationGradient, ) -> Result<Scalar, ConstitutiveError>
Calculates and returns the Helmholtz free energy density.
a(\mathbf{F}) = a_1(\mathbf{F}_1) + a_2(\mathbf{F}_2)
Source§fn minimize(
&self,
applied_load: AppliedLoad,
) -> Result<DeformationGradient, OptimizeError>
fn minimize( &self, applied_load: AppliedLoad, ) -> Result<DeformationGradient, OptimizeError>
Solve for the unknown components of the deformation gradient under an applied load. Read more
Source§impl<C1, C2> MultiplicativeTrait for Multiplicative<C1, C2>
impl<C1, C2> MultiplicativeTrait for Multiplicative<C1, C2>
fn deformation_gradients( &self, deformation_gradient: &DeformationGradient, ) -> Result<(DeformationGradient, DeformationGradient), ConstitutiveError>
Source§impl<C1, C2> Solid for Multiplicative<C1, C2>
impl<C1, C2> Solid for Multiplicative<C1, C2>
Source§fn bulk_modulus(&self) -> &Scalar
fn bulk_modulus(&self) -> &Scalar
Dummy method that will panic.
Source§fn shear_modulus(&self) -> &Scalar
fn shear_modulus(&self) -> &Scalar
Dummy method that will panic.
Auto Trait Implementations§
impl<C1, C2> Freeze for Multiplicative<C1, C2>
impl<C1, C2> RefUnwindSafe for Multiplicative<C1, C2>where
C1: RefUnwindSafe,
C2: RefUnwindSafe,
impl<C1, C2> Send for Multiplicative<C1, C2>
impl<C1, C2> Sync for Multiplicative<C1, C2>
impl<C1, C2> Unpin for Multiplicative<C1, C2>
impl<C1, C2> UnwindSafe for Multiplicative<C1, C2>where
C1: UnwindSafe,
C2: 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