Trait ElasticHyperviscous

Source
pub trait ElasticHyperviscous
where 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§

Source

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§

Source

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}})
Source

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}}
Source

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.

Implementors§