pub trait SecondOrderMinimize<V>{
// Required method
fn minimize(
&self,
applied_load: AppliedLoad,
solver: impl SecondOrderOptimizationBlock<Quantity<EnergyDensity>, DeformationGradient, V, FirstPiolaKirchhoffStress, <Self as ElasticIV<V>>::Residual, FirstPiolaKirchhoffTangentStiffness, Self::TangentVu, Self::TangentUv, Self::TangentVv>,
strategy: SolveStrategy,
) -> Result<(DeformationGradient, V), ConstitutiveError>;
}Expand description
Second-order minimization methods for hyperelastic solid constitutive models with internal variables.
Required Methods§
Sourcefn minimize(
&self,
applied_load: AppliedLoad,
solver: impl SecondOrderOptimizationBlock<Quantity<EnergyDensity>, DeformationGradient, V, FirstPiolaKirchhoffStress, <Self as ElasticIV<V>>::Residual, FirstPiolaKirchhoffTangentStiffness, Self::TangentVu, Self::TangentUv, Self::TangentVv>,
strategy: SolveStrategy,
) -> Result<(DeformationGradient, V), ConstitutiveError>
fn minimize( &self, applied_load: AppliedLoad, solver: impl SecondOrderOptimizationBlock<Quantity<EnergyDensity>, DeformationGradient, V, FirstPiolaKirchhoffStress, <Self as ElasticIV<V>>::Residual, FirstPiolaKirchhoffTangentStiffness, Self::TangentVu, Self::TangentUv, Self::TangentVv>, strategy: SolveStrategy, ) -> Result<(DeformationGradient, V), ConstitutiveError>
Solve for the unknown components of the deformation gradient under an applied load.
\Pi(\mathbf{F},\boldsymbol{\lambda}) = a(\mathbf{F}) - \boldsymbol{\lambda}:(\mathbf{F} - \mathbf{F}_0) - \mathbf{P}_0:\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.