v0.16.3
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Enumerations | Functions
IncrementalOptimization.hpp File Reference

Physics-independent incremental optimization API. More...

#include <limits>

Go to the source code of this file.

Classes

struct  EshelbianPlasticity::EquilibriumSolveReport
 
struct  EshelbianPlasticity::IncrementalObjectiveEvaluation
 
struct  EshelbianPlasticity::IncrementalOptimizationProblem
 
struct  EshelbianPlasticity::IncrementalOptimizationContext
 Generic transaction/cache data; contains no constitutive state. More...
 

Namespaces

namespace  EshelbianPlasticity
 

Typedefs

using EshelbianPlasticity::EquilibriumSolveFunction = std::function< MoFEMErrorCode(Vec, EquilibriumSolveReport &)>
 

Enumerations

enum class  EshelbianPlasticity::EquilibriumSolveStatus { EshelbianPlasticity::NotEvaluated , EshelbianPlasticity::Converged , EshelbianPlasticity::Diverged , EshelbianPlasticity::Failed }
 

Functions

boost::shared_ptr< IncrementalOptimizationContextEshelbianPlasticity::createIncrementalOptimizationContext (boost::shared_ptr< IncrementalOptimizationProblem > problem, SmartPetscObj< Vec > state)
 
MoFEMErrorCode EshelbianPlasticity::evaluateIncrementalObjective (const boost::shared_ptr< IncrementalOptimizationContext > &context, Vec control, IncrementalObjectiveEvaluation &evaluation)
 
MoFEMErrorCode EshelbianPlasticity::evaluateIncrementalObjectiveAndGradient (const boost::shared_ptr< IncrementalOptimizationContext > &context, Vec control, IncrementalObjectiveEvaluation &evaluation)
 
MoFEMErrorCode EshelbianPlasticity::evaluateIncrementalOptimizationTAOObjectiveAndGradient (const boost::shared_ptr< IncrementalOptimizationContext > &context, Vec control, PetscReal &objective, Vec objective_gradient, IncrementalObjectiveEvaluation &evaluation)
 
MoFEMErrorCode EshelbianPlasticity::evaluateIncrementalOptimizationInequalityConstraints (const boost::shared_ptr< IncrementalOptimizationContext > &context, Vec control, Vec constraints)
 
MoFEMErrorCode EshelbianPlasticity::assembleIncrementalOptimizationInequalityJacobianFromEvaluation (const boost::shared_ptr< IncrementalOptimizationContext > &context, Vec control, const IncrementalObjectiveEvaluation &evaluation, Mat jacobian)
 
MoFEMErrorCode EshelbianPlasticity::assembleIncrementalOptimizationInequalityJacobian (const boost::shared_ptr< IncrementalOptimizationContext > &context, Vec control, Mat jacobian)
 
MoFEMErrorCode EshelbianPlasticity::solveIncrementalOptimizationTAO (const boost::shared_ptr< IncrementalOptimizationContext > &context, Vec state)
 

Detailed Description

Physics-independent incremental optimization API.

The orchestration in this file knows how to minimize an incremental potential whose state is obtained from a nested equilibrium solve. A concrete dissipation process supplies the control layout, conservative value and gradient, dissipation, acceptance checks, and commit operation through IncrementalOptimizationProblem.

Definition in file IncrementalOptimization.hpp.