![]() |
v0.16.3 |
#include "users_modules/eshelbian_plasticity/src/IncrementalOptimization.hpp"
Public Member Functions | |
| virtual | ~IncrementalOptimizationProblem ()=default |
| virtual std::string | getName () const =0 |
| virtual MoFEMErrorCode | validate ()=0 |
| virtual DM | getControlDM () const =0 |
| virtual MoFEMErrorCode | createControlData (SmartPetscObj< Vec > &committed_control, SmartPetscObj< Vec > &candidate_control)=0 |
| virtual MoFEMErrorCode | configureConstraintDM (DM constraint_dm)=0 |
| virtual MoFEMErrorCode | initialiseInequalityMultipliers (DM constraint_dm, Vec multipliers)=0 |
| virtual MoFEMErrorCode | initialiseReferenceControl (Vec committed_control, Vec reference_control)=0 |
| virtual MoFEMErrorCode | solveState (Vec state, EquilibriumSolveReport &report)=0 |
| virtual MoFEMErrorCode | restoreState (Vec state)=0 |
| virtual MoFEMErrorCode | evaluateConservativeValue (double &value)=0 |
| virtual MoFEMErrorCode | assembleConservativeGradient (Vec smooth_gradient)=0 |
| virtual MoFEMErrorCode | evaluateDissipation (Vec control, double &value)=0 |
| virtual MoFEMErrorCode | assembleObjectiveGradient (Vec control, Vec smooth_gradient, Vec objective_gradient)=0 |
| virtual MoFEMErrorCode | evaluateInequalityConstraints (Vec control, Vec constraints)=0 |
| virtual MoFEMErrorCode | assembleInequalityJacobian (Vec control, Vec smooth_gradient, Mat jacobian)=0 |
| virtual MoFEMErrorCode | assembleInequalityJacobianWithoutSmoothGradient (Vec control, Mat jacobian)=0 |
| virtual MoFEMErrorCode | validateSolution (DM constraint_dm, Vec control, Vec smooth_gradient, Vec inequality_multipliers, PetscReal gradient_tolerance, PetscReal constraint_tolerance, std::string &diagnostics)=0 |
| virtual MoFEMErrorCode | commit (Vec solution, Vec equilibrated_state, Vec committed_control, Vec candidate_control, Vec reference_control)=0 |
Physics contract consumed by the generic incremental optimizer.
Plasticity, cohesive fracture, and contact/friction implement this interface without adding their variables or constitutive assumptions to IncrementalOptimizationContext.
Definition at line 58 of file IncrementalOptimization.hpp.
|
virtualdefault |
|
pure virtual |
Assemble the reduced conservative gradient.
Implemented in EshelbianPlasticity::PlasticIncrementalOptimizationProblem.
|
pure virtual |
Implemented in EshelbianPlasticity::PlasticIncrementalOptimizationProblem.
|
pure virtual |
Assemble a finite generalized row without a usable smooth gradient.
Implemented in EshelbianPlasticity::PlasticIncrementalOptimizationProblem.
|
pure virtual |
Implemented in EshelbianPlasticity::PlasticIncrementalOptimizationProblem.
|
pure virtual |
Commit physics history and all next-step control vectors atomically. solution and equilibrated_state are read-only accepted inputs; a successful implementation may modify only physics history and the three control outputs.
Implemented in EshelbianPlasticity::PlasticIncrementalOptimizationProblem.
|
pure virtual |
Add physics-specific rows, columns, and elements to constraintDM.
Implemented in EshelbianPlasticity::PlasticIncrementalOptimizationProblem.
|
pure virtual |
Create the problem's committed and candidate control vectors.
Implemented in EshelbianPlasticity::PlasticIncrementalOptimizationProblem.
|
pure virtual |
Implemented in EshelbianPlasticity::PlasticIncrementalOptimizationProblem.
|
pure virtual |
Implemented in EshelbianPlasticity::PlasticIncrementalOptimizationProblem.
|
pure virtual |
Implemented in EshelbianPlasticity::PlasticIncrementalOptimizationProblem.
|
pure virtual |
Parent DM containing every optimization-control field.
Implemented in EshelbianPlasticity::PlasticIncrementalOptimizationProblem.
|
pure virtual |
Implemented in EshelbianPlasticity::PlasticIncrementalOptimizationProblem.
|
pure virtual |
Set initial multipliers using constraint-DM row numbering.
Implemented in EshelbianPlasticity::PlasticIncrementalOptimizationProblem.
|
pure virtual |
Define the zero-increment/reference point for a new load step.
Implemented in EshelbianPlasticity::PlasticIncrementalOptimizationProblem.
|
pure virtual |
Implemented in EshelbianPlasticity::PlasticIncrementalOptimizationProblem.
|
pure virtual |
Implemented in EshelbianPlasticity::PlasticIncrementalOptimizationProblem.
|
pure virtual |
Implemented in EshelbianPlasticity::PlasticIncrementalOptimizationProblem.
|
pure virtual |
Physics-specific primal/dual checks using both DM layouts.
Implemented in EshelbianPlasticity::PlasticIncrementalOptimizationProblem.