Skip to main content

RootRkmkDaeMinimize

Trait RootRkmkDaeMinimize 

Source
pub trait RootRkmkDaeMinimize<Y>{
    // Required methods
    fn root_rkmk_dae_minimize<Tab: ButcherTableau>(
        &self,
        applied_load: AppliedLoad<'_>,
        solver: impl SecondOrderOptimization<Quantity<EnergyDensity>, FirstPiolaKirchhoffStress, FirstPiolaKirchhoffTangentStiffness, DeformationGradient>,
    ) -> Result<(Times, DeformationGradients, ViscoplasticStateVariablesHistory<Y>), ConstitutiveError>;
    fn root_rkmk_dae_adaptive_minimize<Tab: EmbeddedTableau>(
        &self,
        applied_load: AppliedLoad<'_>,
        solver: impl SecondOrderOptimization<Quantity<EnergyDensity>, FirstPiolaKirchhoffStress, FirstPiolaKirchhoffTangentStiffness, DeformationGradient>,
        abs_tol: Scalar,
        rel_tol: Scalar,
    ) -> Result<(Times, DeformationGradients, ViscoplasticStateVariablesHistory<Y>), ConstitutiveError>;
}
Expand description

RKMK-DAE return-map methods for hyperelastic-viscoplastic solid constitutive models — the minimize-based sibling of crate::constitutive::solid::elastic_viscoplastic::RootRkmkDae, for models whose equilibrium is naturally posed as a potential minimization rather than a stress-residual root. F_p still advances on its group at the tableau’s own order; only how F is resolved within a stage differs. Blanket over any HyperelasticViscoplastic model, same as SecondOrderMinimize itself.

Required Methods§

Source

fn root_rkmk_dae_minimize<Tab: ButcherTableau>( &self, applied_load: AppliedLoad<'_>, solver: impl SecondOrderOptimization<Quantity<EnergyDensity>, FirstPiolaKirchhoffStress, FirstPiolaKirchhoffTangentStiffness, DeformationGradient>, ) -> Result<(Times, DeformationGradients, ViscoplasticStateVariablesHistory<Y>), ConstitutiveError>

F is re-solved by potential minimization at every stage abscissa of the window while F_p advances on its group, generic over the hardening variable Y.

Source

fn root_rkmk_dae_adaptive_minimize<Tab: EmbeddedTableau>( &self, applied_load: AppliedLoad<'_>, solver: impl SecondOrderOptimization<Quantity<EnergyDensity>, FirstPiolaKirchhoffStress, FirstPiolaKirchhoffTangentStiffness, DeformationGradient>, abs_tol: Scalar, rel_tol: Scalar, ) -> Result<(Times, DeformationGradients, ViscoplasticStateVariablesHistory<Y>), ConstitutiveError>

As Self::root_rkmk_dae_minimize, but the whole span is stepped under embedded (Tab::D) error control rather than on the supplied load grid.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§