Trait FirstOrderMinimize

Source
pub trait FirstOrderMinimize {
    // Required method
    fn minimize(
        &self,
        applied_load: AppliedLoad<'_>,
        integrator: impl Explicit<DeformationGradientRate, DeformationGradientRates>,
        solver: impl FirstOrderOptimization<Scalar, DeformationGradient>,
    ) -> Result<(Times, DeformationGradients, DeformationGradientRates), ConstitutiveError>;
}
Expand description

First-order optimization methods for elastic-hyperviscous constitutive models.

Required Methods§

Source

fn minimize( &self, applied_load: AppliedLoad<'_>, integrator: impl Explicit<DeformationGradientRate, DeformationGradientRates>, solver: impl FirstOrderOptimization<Scalar, DeformationGradient>, ) -> Result<(Times, DeformationGradients, DeformationGradientRates), ConstitutiveError>

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

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§