pub trait FirstOrderMinimize {
// Required method
fn minimize(
&self,
applied_load: AppliedLoad<'_>,
integrator: impl ImplicitDaeFirstOrderMinimize<Quantity<Dissipation>, FirstPiolaKirchhoffStress, DeformationGradient, DeformationGradients, DeformationGradientRates>,
solver: impl FirstOrderOptimization<Quantity<Dissipation>, FirstPiolaKirchhoffStress, DeformationGradientRate>,
) -> Result<(Times, DeformationGradients, DeformationGradientRates), ConstitutiveError>;
}Expand description
First-order optimization methods for elastic-hyperviscous solid constitutive models.
Required Methods§
Sourcefn minimize(
&self,
applied_load: AppliedLoad<'_>,
integrator: impl ImplicitDaeFirstOrderMinimize<Quantity<Dissipation>, FirstPiolaKirchhoffStress, DeformationGradient, DeformationGradients, DeformationGradientRates>,
solver: impl FirstOrderOptimization<Quantity<Dissipation>, FirstPiolaKirchhoffStress, DeformationGradientRate>,
) -> Result<(Times, DeformationGradients, DeformationGradientRates), ConstitutiveError>
fn minimize( &self, applied_load: AppliedLoad<'_>, integrator: impl ImplicitDaeFirstOrderMinimize<Quantity<Dissipation>, FirstPiolaKirchhoffStress, DeformationGradient, DeformationGradients, DeformationGradientRates>, solver: impl FirstOrderOptimization<Quantity<Dissipation>, FirstPiolaKirchhoffStress, DeformationGradientRate>, ) -> 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}} + \psi(\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".