FirstOrderRoot

Trait FirstOrderRoot 

Source
pub trait FirstOrderRoot<Y>
where Y: Tensor,
{ // Required method fn root( &self, applied_load: AppliedLoad<'_>, integrator: impl ExplicitDaeFirstOrderRoot<FirstPiolaKirchhoffStress, FirstPiolaKirchhoffTangentStiffness, ViscoplasticStateVariables<Y>, DeformationGradient, ViscoplasticStateVariablesHistory<Y>, DeformationGradients>, solver: impl FirstOrderRootFinding<FirstPiolaKirchhoffStress, FirstPiolaKirchhoffTangentStiffness, DeformationGradient>, ) -> Result<(Times, DeformationGradients, ViscoplasticStateVariablesHistory<Y>), ConstitutiveError>; }
Expand description

First-order root-finding methods for elastic-viscoplastic solid constitutive models.

Required Methods§

Source

fn root( &self, applied_load: AppliedLoad<'_>, integrator: impl ExplicitDaeFirstOrderRoot<FirstPiolaKirchhoffStress, FirstPiolaKirchhoffTangentStiffness, ViscoplasticStateVariables<Y>, DeformationGradient, ViscoplasticStateVariablesHistory<Y>, DeformationGradients>, solver: impl FirstOrderRootFinding<FirstPiolaKirchhoffStress, FirstPiolaKirchhoffTangentStiffness, DeformationGradient>, ) -> Result<(Times, DeformationGradients, ViscoplasticStateVariablesHistory<Y>), ConstitutiveError>

Solve for the unknown components of the deformation gradients under an applied load.

\mathbf{P}(\mathbf{F},\mathbf{F}_\mathrm{p}) - \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§

Source§

impl<C, Y> FirstOrderRoot<Y> for C
where C: ElasticViscoplastic<Y>, Y: Tensor,