Skip to main content

FirstOrderMinimize

Trait FirstOrderMinimize 

Source
pub trait FirstOrderMinimize<V> {
    type Residuals;
    type Variables;

    // Required method
    fn minimize(
        &self,
        applied_load: AppliedLoad,
        solver: impl FirstOrderOptimization<Quantity<EnergyDensity>, Self::Residuals, Self::Variables>,
    ) -> Result<(DeformationGradient, V), ConstitutiveError>;
}
Expand description

First-order minimization methods for hyperelastic solid constitutive models with internal variables.

Required Associated Types§

Source

type Residuals

Type representing all residuals.

Source

type Variables

Type representing all variables.

Required Methods§

Source

fn minimize( &self, applied_load: AppliedLoad, solver: impl FirstOrderOptimization<Quantity<EnergyDensity>, Self::Residuals, Self::Variables>, ) -> 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.

Implementors§