pub trait ElasticHyperviscouswhere
Self: Viscoelastic,{
// Required method
fn viscous_dissipation(
&self,
deformation_gradient: &DeformationGradient,
deformation_gradient_rate: &DeformationGradientRate,
) -> Result<Scalar, ConstitutiveError>;
// Provided methods
fn dissipation_potential(
&self,
deformation_gradient: &DeformationGradient,
deformation_gradient_rate: &DeformationGradientRate,
) -> Result<Scalar, ConstitutiveError> { ... }
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 root_uniaxial(
&self,
deformation_gradient_rate_11: impl Fn(Scalar) -> Scalar,
integrator: impl Explicit<DeformationGradientRate, DeformationGradientRates>,
time: &[Scalar],
) -> Result<(Times, DeformationGradients, DeformationGradientRates), IntegrationError> { ... }
}
Expand description
Required methods for elastic-hyperviscous constitutive models.
Required Methods§
Sourcefn 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 = \phi(\mathbf{F},\dot{\mathbf{F}})
Provided Methods§
Sourcefn 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.
\mathbf{P}^e(\mathbf{F}):\dot{\mathbf{F}} + \phi(\mathbf{F},\dot{\mathbf{F}})
Sourcefn 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.
\Pi(\mathbf{F},\dot{\mathbf{F}},\boldsymbol{\lambda}) = \mathbf{P}^e(\mathbf{F}):\dot{\mathbf{F}} + \phi(\mathbf{F},\dot{\mathbf{F}}) - \boldsymbol{\lambda}:(\dot{\mathbf{F}} - \dot{\mathbf{F}}_0) - \mathbf{P}_0:\dot{\mathbf{F}}
Sourcefn 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.
\mathbf{P}(\mathbf{F},\dot{\mathbf{F}}) - \boldsymbol{\lambda} - \mathbf{P}_0 = \mathbf{0}
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.