![]() |
v0.16.3 |
#include "users_modules/eshelbian_plasticity/src/PlasticIncrementalOptimization.hpp"
Public Member Functions | |
| PlasticIncrementalOptimizationProblem (EshelbianCore &ep, SmartPetscObj< TS > ts) | |
| std::string | getName () const override |
| MoFEMErrorCode | validate () override |
| DM | getControlDM () const override |
| MoFEMErrorCode | createControlData (SmartPetscObj< Vec > &committed_control, SmartPetscObj< Vec > &candidate_control) override |
| MoFEMErrorCode | configureConstraintDM (DM constraint_dm) override |
| MoFEMErrorCode | initialiseInequalityMultipliers (DM constraint_dm, Vec multipliers) override |
| MoFEMErrorCode | initialiseReferenceControl (Vec committed_control, Vec reference_control) override |
| MoFEMErrorCode | solveState (Vec state, EquilibriumSolveReport &report) override |
| MoFEMErrorCode | restoreState (Vec state) override |
| MoFEMErrorCode | evaluateConservativeValue (double &value) override |
| MoFEMErrorCode | assembleConservativeGradient (Vec smooth_gradient) override |
| MoFEMErrorCode | evaluateDissipation (Vec control, double &value) override |
| MoFEMErrorCode | assembleObjectiveGradient (Vec control, Vec smooth_gradient, Vec objective_gradient) override |
| MoFEMErrorCode | evaluateInequalityConstraints (Vec control, Vec constraints) override |
| MoFEMErrorCode | assembleInequalityJacobian (Vec control, Vec smooth_gradient, Mat jacobian) override |
| MoFEMErrorCode | assembleInequalityJacobianWithoutSmoothGradient (Vec control, Mat jacobian) override |
| MoFEMErrorCode | validateSolution (DM constraint_dm, Vec control, Vec smooth_gradient, Vec inequality_multipliers, PetscReal gradient_tolerance, PetscReal constraint_tolerance, std::string &diagnostics) override |
| MoFEMErrorCode | commit (Vec solution, Vec equilibrated_state, Vec committed_control, Vec candidate_control, Vec reference_control) override |
| const std::string & | getPlasticFlowFieldName () const |
| const std::string & | getPlasticKappaFieldName () const |
| double | getInitialYieldStress () const |
| double | getIsotropicHardeningModulus () const |
| double | getDissipationRegularizationEpsilon () const |
| const std::string & | getVolumeElementName () const |
| MoFEMErrorCode | addConstitutiveGeometryOperators (boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pipeline) const |
Public Member Functions inherited from EshelbianPlasticity::IncrementalOptimizationProblem | |
| virtual | ~IncrementalOptimizationProblem ()=default |
Private Attributes | |
| EshelbianCore & | ep |
| SmartPetscObj< TS > | timeSolver |
| SmartPetscObj< Vec > | fallbackJacobianSmoothGradient |
| double | initialYieldStress = 1 |
| double | isotropicHardeningModulus = 0 |
| double | dissipationRegularizationEpsilon = 0 |
Plasticity adapter; no plastic data is present in the generic context.
Definition at line 20 of file PlasticIncrementalOptimization.hpp.
| EshelbianPlasticity::PlasticIncrementalOptimizationProblem::PlasticIncrementalOptimizationProblem | ( | EshelbianCore & | ep, |
| SmartPetscObj< TS > | ts | ||
| ) |
Definition at line 148 of file PlasticIncrementalOptimization.cpp.
| MoFEMErrorCode EshelbianPlasticity::PlasticIncrementalOptimizationProblem::addConstitutiveGeometryOperators | ( | boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > & | pipeline | ) | const |
Add geometry operators for local constitutive integration.
Definition at line 176 of file PlasticIncrementalOptimization.cpp.
|
overridevirtual |
Assemble the reduced conservative gradient.
Implements EshelbianPlasticity::IncrementalOptimizationProblem.
Definition at line 299 of file PlasticIncrementalOptimization.cpp.
|
overridevirtual |
Implements EshelbianPlasticity::IncrementalOptimizationProblem.
Definition at line 325 of file PlasticIncrementalOptimization.cpp.
|
overridevirtual |
Assemble a finite generalized row without a usable smooth gradient.
Implements EshelbianPlasticity::IncrementalOptimizationProblem.
Definition at line 331 of file PlasticIncrementalOptimization.cpp.
|
overridevirtual |
Implements EshelbianPlasticity::IncrementalOptimizationProblem.
Definition at line 312 of file PlasticIncrementalOptimization.cpp.
|
overridevirtual |
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.
Implements EshelbianPlasticity::IncrementalOptimizationProblem.
Definition at line 740 of file PlasticIncrementalOptimization.cpp.
|
overridevirtual |
Add physics-specific rows, columns, and elements to constraintDM.
Implements EshelbianPlasticity::IncrementalOptimizationProblem.
Definition at line 248 of file PlasticIncrementalOptimization.cpp.
|
overridevirtual |
Create the problem's committed and candidate control vectors.
Implements EshelbianPlasticity::IncrementalOptimizationProblem.
Definition at line 199 of file PlasticIncrementalOptimization.cpp.
|
overridevirtual |
Implements EshelbianPlasticity::IncrementalOptimizationProblem.
Definition at line 291 of file PlasticIncrementalOptimization.cpp.
|
overridevirtual |
Implements EshelbianPlasticity::IncrementalOptimizationProblem.
Definition at line 305 of file PlasticIncrementalOptimization.cpp.
|
overridevirtual |
Return sqrt(cell volume) times the exact or rounded epigraph gap.
Implements EshelbianPlasticity::IncrementalOptimizationProblem.
Definition at line 319 of file PlasticIncrementalOptimization.cpp.
|
overridevirtual |
Parent DM containing every optimization-control field.
Implements EshelbianPlasticity::IncrementalOptimizationProblem.
Definition at line 156 of file PlasticIncrementalOptimization.cpp.
|
inline |
Definition at line 68 of file PlasticIncrementalOptimization.hpp.
|
inline |
Definition at line 64 of file PlasticIncrementalOptimization.hpp.
|
inline |
Definition at line 65 of file PlasticIncrementalOptimization.hpp.
|
overridevirtual |
Implements EshelbianPlasticity::IncrementalOptimizationProblem.
Definition at line 152 of file PlasticIncrementalOptimization.cpp.
| const std::string & EshelbianPlasticity::PlasticIncrementalOptimizationProblem::getPlasticFlowFieldName | ( | ) | const |
Plastic-flow control field; its vector values are Delta H^p.
Definition at line 161 of file PlasticIncrementalOptimization.cpp.
| const std::string & EshelbianPlasticity::PlasticIncrementalOptimizationProblem::getPlasticKappaFieldName | ( | ) | const |
Scalar control/constraint field; its vector values are Delta kappa.
Definition at line 166 of file PlasticIncrementalOptimization.cpp.
| const std::string & EshelbianPlasticity::PlasticIncrementalOptimizationProblem::getVolumeElementName | ( | ) | const |
Definition at line 171 of file PlasticIncrementalOptimization.cpp.
|
overridevirtual |
Initialise multipliers for sqrt(cell volume)-scaled inequality rows.
Implements EshelbianPlasticity::IncrementalOptimizationProblem.
Definition at line 265 of file PlasticIncrementalOptimization.cpp.
|
overridevirtual |
Define the zero-increment/reference point for a new load step.
Implements EshelbianPlasticity::IncrementalOptimizationProblem.
Definition at line 272 of file PlasticIncrementalOptimization.cpp.
|
overridevirtual |
Implements EshelbianPlasticity::IncrementalOptimizationProblem.
Definition at line 287 of file PlasticIncrementalOptimization.cpp.
|
overridevirtual |
Implements EshelbianPlasticity::IncrementalOptimizationProblem.
Definition at line 282 of file PlasticIncrementalOptimization.cpp.
|
overridevirtual |
Implements EshelbianPlasticity::IncrementalOptimizationProblem.
Definition at line 184 of file PlasticIncrementalOptimization.cpp.
|
overridevirtual |
Recover physical multipliers and check unscaled plastic feasibility.
Implements EshelbianPlasticity::IncrementalOptimizationProblem.
Definition at line 731 of file PlasticIncrementalOptimization.cpp.
|
private |
Definition at line 83 of file PlasticIncrementalOptimization.hpp.
|
private |
Definition at line 77 of file PlasticIncrementalOptimization.hpp.
|
private |
Zero force selects a finite exact-cone row when no smooth force exists.
Definition at line 80 of file PlasticIncrementalOptimization.hpp.
|
private |
Definition at line 81 of file PlasticIncrementalOptimization.hpp.
|
private |
Definition at line 82 of file PlasticIncrementalOptimization.hpp.
|
private |
Definition at line 78 of file PlasticIncrementalOptimization.hpp.