ROL
ROL::CompositeConstraint_SimOpt< Real > Class Template Reference

Defines a composite equality constraint operator interface for simulation-based optimization. More...

#include <ROL_CompositeConstraint_SimOpt.hpp>

Inheritance diagram for ROL::CompositeConstraint_SimOpt< Real >:

Public Member Functions

 CompositeConstraint_SimOpt (const ROL::Ptr< Constraint_SimOpt< Real > > &conVal, const ROL::Ptr< Constraint_SimOpt< Real > > &conRed, const Vector< Real > &cVal, const Vector< Real > &cRed, const Vector< Real > &u, const Vector< Real > &Sz, const Vector< Real > &z, bool storage=true, bool isConRedParametrized=false)
void update (const Vector< Real > &u, const Vector< Real > &z, bool flag=true, int iter=-1) override
void update_1 (const Vector< Real > &u, bool flag=true, int iter=-1) override
void update_2 (const Vector< Real > &z, bool flag=true, int iter=-1) override
void update (const Vector< Real > &u, const Vector< Real > &z, UpdateType type, int iter=-1) override
void update_1 (const Vector< Real > &u, UpdateType type, int iter=-1) override
void update_2 (const Vector< Real > &z, UpdateType type, int iter=-1) override
void solve_update (const Vector< Real > &u, const Vector< Real > &z, UpdateType type, int iter=-1) override
void value (Vector< Real > &c, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
void solve (Vector< Real > &c, Vector< Real > &u, const Vector< Real > &z, Real &tol) override
void applyJacobian_1 (Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
void applyJacobian_2 (Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
void applyInverseJacobian_1 (Vector< Real > &ijv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
void applyAdjointJacobian_1 (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
void applyAdjointJacobian_2 (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
void applyInverseAdjointJacobian_1 (Vector< Real > &ijv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
void applyAdjointHessian_11 (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
void applyAdjointHessian_12 (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
void applyAdjointHessian_21 (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
void applyAdjointHessian_22 (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
void setParameter (const std::vector< Real > &param) override
Public Member Functions inherited from ROL::ROL::Constraint_SimOpt< Real >
 Constraint_SimOpt ()
virtual void update (const Vector< Real > &u, const Vector< Real > &z, bool flag=true, int iter=-1)
 Update constraint functions.
x is the optimization variable, flag = true if optimization variable is changed, iter is the outer algorithm iterations count.
virtual void update (const Vector< Real > &u, const Vector< Real > &z, UpdateType type, int iter=-1)
virtual void update_1 (const Vector< Real > &u, bool flag=true, int iter=-1)
 Update constraint functions with respect to Sim variable.
x is the optimization variable, flag = true if optimization variable is changed, iter is the outer algorithm iterations count.
virtual void update_1 (const Vector< Real > &u, UpdateType type, int iter=-1)
virtual void update_2 (const Vector< Real > &z, bool flag=true, int iter=-1)
 Update constraint functions with respect to Opt variable. x is the optimization variable, flag = true if optimization variable is changed, iter is the outer algorithm iterations count.
virtual void update_2 (const Vector< Real > &z, UpdateType type, int iter=-1)
virtual void solve_update (const Vector< Real > &u, const Vector< Real > &z, UpdateType type, int iter=-1)
 Update SimOpt constraint during solve (disconnected from optimization updates).
virtual void value (Vector< Real > &c, const Vector< Real > &u, const Vector< Real > &z, Real &tol)=0
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).
virtual void solve (Vector< Real > &c, Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Given \(z\), solve \(c(u,z)=0\) for \(u\).
virtual void setSolveParameters (ParameterList &parlist)
 Set solve parameters.
virtual void applyJacobian_1 (Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).
virtual void applyJacobian_2 (Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).
virtual void applyInverseJacobian_1 (Vector< Real > &ijv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).
virtual void applyAdjointJacobian_1 (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the adjoint of the partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^* \in L(\mathcal{C}^*, \mathcal{U}^*)\), to the vector \(v\). This is the primary interface.
virtual void applyAdjointJacobian_1 (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &dualv, Real &tol)
 Apply the adjoint of the partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^* \in L(\mathcal{C}^*, \mathcal{U}^*)\), to the vector \(v\). This is the secondary interface, for use with dual spaces where the user does not define the dual() operation.
virtual void applyAdjointJacobian_2 (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the adjoint of the partial constraint Jacobian at \((u,z)\), \(c_z(u,z)^* \in L(\mathcal{C}^*, \mathcal{Z}^*)\), to vector \(v\). This is the primary interface.
virtual void applyAdjointJacobian_2 (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &dualv, Real &tol)
 Apply the adjoint of the partial constraint Jacobian at \((u,z)\), \(c_z(u,z)^* \in L(\mathcal{C}^*, \mathcal{Z}^*)\), to vector \(v\). This is the secondary interface, for use with dual spaces where the user does not define the dual() operation.
virtual void applyInverseAdjointJacobian_1 (Vector< Real > &iajv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the inverse of the adjoint of the partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-*} \in L(\mathcal{U}^*, \mathcal{C}^*)\), to the vector \(v\).
virtual void applyAdjointHessian_11 (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in the direction \(v\), according to \(v\mapsto c_{uu}(u,z)(v,\cdot)^*w\).
virtual void applyAdjointHessian_12 (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in the direction \(v\), according to \(v\mapsto c_{uz}(u,z)(v,\cdot)^*w\).
virtual void applyAdjointHessian_21 (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in the direction \(v\), according to \(v\mapsto c_{zu}(u,z)(v,\cdot)^*w\).
virtual void applyAdjointHessian_22 (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in the direction \(v\), according to \(v\mapsto c_{zz}(u,z)(v,\cdot)^*w\).
virtual std::vector< Real > solveAugmentedSystem (Vector< Real > &v1, Vector< Real > &v2, const Vector< Real > &b1, const Vector< Real > &b2, const Vector< Real > &x, Real &tol)
 Approximately solves the augmented system .
virtual void applyPreconditioner (Vector< Real > &pv, const Vector< Real > &v, const Vector< Real > &x, const Vector< Real > &g, Real &tol)
 Apply a constraint preconditioner at \(x\), \(P(x) \in L(\mathcal{C}, \mathcal{C})\), to vector \(v\). In general, this preconditioner satisfies the following relationship:
virtual void update (const Vector< Real > &x, bool flag=true, int iter=-1)
 Update constraint functions.
x is the optimization variable, flag = true if optimization variable is changed, iter is the outer algorithm iterations count.
virtual void update (const Vector< Real > &x, UpdateType type, int iter=-1)
 Update constraint function.
virtual void value (Vector< Real > &c, const Vector< Real > &x, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{X} \rightarrow \mathcal{C}\) at \(x\).
virtual void applyJacobian (Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
 Apply the constraint Jacobian at \(x\), \(c'(x) \in L(\mathcal{X}, \mathcal{C})\), to vector \(v\).
virtual void applyAdjointJacobian (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
 Apply the adjoint of the the constraint Jacobian at \(x\), \(c'(x)^* \in L(\mathcal{C}^*, \mathcal{X}^*)\), to vector \(v\).
virtual void applyAdjointHessian (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
 Apply the derivative of the adjoint of the constraint Jacobian at \(x\) to vector \(u\) in direction \(v\), according to \( v \mapsto c''(x)(v,\cdot)^*u \).
virtual Real checkSolve (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &c, const bool printToStream=true, std::ostream &outStream=std::cout)
virtual Real checkAdjointConsistencyJacobian_1 (const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, const bool printToStream=true, std::ostream &outStream=std::cout)
 Check the consistency of the Jacobian and its adjoint. This is the primary interface.
virtual Real checkAdjointConsistencyJacobian_1 (const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &dualw, const Vector< Real > &dualv, const bool printToStream=true, std::ostream &outStream=std::cout)
 Check the consistency of the Jacobian and its adjoint. This is the secondary interface, for use with dual spaces where the user does not define the dual() operation.
virtual Real checkAdjointConsistencyJacobian_2 (const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, const bool printToStream=true, std::ostream &outStream=std::cout)
 Check the consistency of the Jacobian and its adjoint. This is the primary interface.
virtual Real checkAdjointConsistencyJacobian_2 (const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &dualw, const Vector< Real > &dualv, const bool printToStream=true, std::ostream &outStream=std::cout)
 Check the consistency of the Jacobian and its adjoint. This is the secondary interface, for use with dual spaces where the user does not define the dual() operation.
virtual Real checkInverseJacobian_1 (const Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, const bool printToStream=true, std::ostream &outStream=std::cout)
virtual Real checkInverseAdjointJacobian_1 (const Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, const bool printToStream=true, std::ostream &outStream=std::cout)
std::vector< std::vector< Real > > checkApplyJacobian_1 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &v, const Vector< Real > &jv, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
std::vector< std::vector< Real > > checkApplyJacobian_1 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &v, const Vector< Real > &jv, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1)
std::vector< std::vector< Real > > checkApplyJacobian_2 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &v, const Vector< Real > &jv, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
std::vector< std::vector< Real > > checkApplyJacobian_2 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &v, const Vector< Real > &jv, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1)
std::vector< std::vector< Real > > checkApplyAdjointHessian_11 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &p, const Vector< Real > &v, const Vector< Real > &hv, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
std::vector< std::vector< Real > > checkApplyAdjointHessian_11 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &p, const Vector< Real > &v, const Vector< Real > &hv, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1)
std::vector< std::vector< Real > > checkApplyAdjointHessian_21 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &p, const Vector< Real > &v, const Vector< Real > &hv, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
 \( u\in U \), \( z\in Z \), \( p\in C^\ast \), \( v \in U \), \( hv \in U^\ast \)
std::vector< std::vector< Real > > checkApplyAdjointHessian_21 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &p, const Vector< Real > &v, const Vector< Real > &hv, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1)
 \( u\in U \), \( z\in Z \), \( p\in C^\ast \), \( v \in U \), \( hv \in U^\ast \)
std::vector< std::vector< Real > > checkApplyAdjointHessian_12 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &p, const Vector< Real > &v, const Vector< Real > &hv, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
 \( u\in U \), \( z\in Z \), \( p\in C^\ast \), \( v \in U \), \( hv \in U^\ast \)
std::vector< std::vector< Real > > checkApplyAdjointHessian_12 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &p, const Vector< Real > &v, const Vector< Real > &hv, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1)
std::vector< std::vector< Real > > checkApplyAdjointHessian_22 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &p, const Vector< Real > &v, const Vector< Real > &hv, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
std::vector< std::vector< Real > > checkApplyAdjointHessian_22 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &p, const Vector< Real > &v, const Vector< Real > &hv, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1)
Public Member Functions inherited from ROL::ROL::Constraint< Real >
virtual ~Constraint (void)
 Constraint (void)
virtual void applyAdjointJacobian (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &x, const Vector< Real > &dualv, Real &tol)
 Apply the adjoint of the the constraint Jacobian at \(x\), \(c'(x)^* \in L(\mathcal{C}^*, \mathcal{X}^*)\), to vector \(v\).
void activate (void)
 Turn on constraints.
void deactivate (void)
 Turn off constraints.
bool isActivated (void)
 Check if constraints are on.
virtual std::vector< std::vector< Real > > checkApplyJacobian (const Vector< Real > &x, const Vector< Real > &v, const Vector< Real > &jv, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1)
 Finite-difference check for the constraint Jacobian application.
virtual std::vector< std::vector< Real > > checkApplyJacobian (const Vector< Real > &x, const Vector< Real > &v, const Vector< Real > &jv, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
 Finite-difference check for the constraint Jacobian application.
virtual std::vector< std::vector< Real > > checkApplyAdjointJacobian (const Vector< Real > &x, const Vector< Real > &v, const Vector< Real > &c, const Vector< Real > &ajv, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS)
 Finite-difference check for the application of the adjoint of constraint Jacobian.
virtual Real checkAdjointConsistencyJacobian (const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &x, const bool printToStream=true, std::ostream &outStream=std::cout)
virtual Real checkAdjointConsistencyJacobian (const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &x, const Vector< Real > &dualw, const Vector< Real > &dualv, const bool printToStream=true, std::ostream &outStream=std::cout)
virtual std::vector< std::vector< Real > > checkApplyAdjointHessian (const Vector< Real > &x, const Vector< Real > &u, const Vector< Real > &v, const Vector< Real > &hv, const std::vector< Real > &step, const bool printToScreen=true, std::ostream &outStream=std::cout, const int order=1)
 Finite-difference check for the application of the adjoint of constraint Hessian.
virtual std::vector< std::vector< Real > > checkApplyAdjointHessian (const Vector< Real > &x, const Vector< Real > &u, const Vector< Real > &v, const Vector< Real > &hv, const bool printToScreen=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
 Finite-difference check for the application of the adjoint of constraint Hessian.

Private Member Functions

void solveConRed (Vector< Real > &Sz, const Vector< Real > &z, Real &tol)
void applySens (Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &Sz, const Vector< Real > &z, Real &tol)
void applyAdjointSens (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &Sz, const Vector< Real > &z, Real &tol)

Private Attributes

const ROL::Ptr< Constraint_SimOpt< Real > > conVal_
const ROL::Ptr< Constraint_SimOpt< Real > > conRed_
ROL::Ptr< Vector< Real > > Sz_
ROL::Ptr< Vector< Real > > primRed_
ROL::Ptr< Vector< Real > > dualRed_
ROL::Ptr< Vector< Real > > primZ_
ROL::Ptr< Vector< Real > > dualZ_
ROL::Ptr< Vector< Real > > dualZ1_
ROL::Ptr< Vector< Real > > primU_
ROL::Ptr< VectorController< Real > > stateStore_
bool updateFlag_
bool newUpdate_
int updateIter_
UpdateType updateType_
const bool storage_
const bool isConRedParametrized_

Additional Inherited Members

Protected Member Functions inherited from ROL::ROL::Constraint< Real >
const std::vector< Real > getParameter (void) const
Protected Attributes inherited from ROL::ROL::Constraint_SimOpt< Real >
Real atol_
Real rtol_
Real stol_
Real factor_
Real decr_
int maxit_
bool print_
bool zero_
int solverType_
bool firstSolve_

Detailed Description

template<typename Real>
class ROL::CompositeConstraint_SimOpt< Real >

Defines a composite equality constraint operator interface for simulation-based optimization.

This equality constraint interface inherits from ROL_Constraint_SimOpt, for the use case when \(\mathcal{X}=\mathcal{U}\times\mathcal{Z}\) where \(\mathcal{U}\) and \(\mathcal{Z}\) are Banach spaces. \(\mathcal{U}\) denotes the "simulation space" and \(\mathcal{Z}\) denotes the "optimization space" (of designs, controls, parameters). The simulation-based constraints are of the form

\[ c(u,S(z)) = 0 \]

where \(S(z)\) solves the reducible constraint

\[ c_0(S(z),z) = 0. \]


Definition at line 40 of file ROL_CompositeConstraint_SimOpt.hpp.

Constructor & Destructor Documentation

◆ CompositeConstraint_SimOpt()

template<typename Real>
ROL::CompositeConstraint_SimOpt< Real >::CompositeConstraint_SimOpt ( const ROL::Ptr< Constraint_SimOpt< Real > > & conVal,
const ROL::Ptr< Constraint_SimOpt< Real > > & conRed,
const Vector< Real > & cVal,
const Vector< Real > & cRed,
const Vector< Real > & u,
const Vector< Real > & Sz,
const Vector< Real > & z,
bool storage = true,
bool isConRedParametrized = false )

Member Function Documentation

◆ update() [1/2]

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::update ( const Vector< Real > & u,
const Vector< Real > & z,
bool flag = true,
int iter = -1 )
override

Definition at line 40 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References update_1(), and update_2().

◆ update_1() [1/2]

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::update_1 ( const Vector< Real > & u,
bool flag = true,
int iter = -1 )
override

Definition at line 48 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References conVal_, and primU_.

Referenced by update(), and update().

◆ update_2() [1/2]

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::update_2 ( const Vector< Real > & z,
bool flag = true,
int iter = -1 )
override

Definition at line 55 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References conRed_, stateStore_, updateFlag_, and updateIter_.

◆ update() [2/2]

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::update ( const Vector< Real > & u,
const Vector< Real > & z,
UpdateType type,
int iter = -1 )
override

Definition at line 64 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References update_1(), and update_2().

◆ update_1() [2/2]

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::update_1 ( const Vector< Real > & u,
UpdateType type,
int iter = -1 )
override

Definition at line 72 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References conVal_, and primU_.

◆ update_2() [2/2]

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::update_2 ( const Vector< Real > & z,
UpdateType type,
int iter = -1 )
override

Definition at line 79 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References conRed_, stateStore_, updateIter_, and updateType_.

◆ solve_update()

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::solve_update ( const Vector< Real > & u,
const Vector< Real > & z,
UpdateType type,
int iter = -1 )
override

Definition at line 88 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References conVal_, ROL::ROL_EPSILON(), solveConRed(), and Sz_.

◆ value()

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::value ( Vector< Real > & c,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 97 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References conVal_, solveConRed(), and Sz_.

◆ solve()

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::solve ( Vector< Real > & c,
Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 106 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References conVal_, solveConRed(), and Sz_.

◆ applyJacobian_1()

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::applyJacobian_1 ( Vector< Real > & jv,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 115 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References conVal_, solveConRed(), and Sz_.

◆ applyJacobian_2()

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::applyJacobian_2 ( Vector< Real > & jv,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 125 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References applySens(), conVal_, primZ_, solveConRed(), and Sz_.

◆ applyInverseJacobian_1()

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::applyInverseJacobian_1 ( Vector< Real > & ijv,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 136 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References conVal_, solveConRed(), and Sz_.

◆ applyAdjointJacobian_1()

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::applyAdjointJacobian_1 ( Vector< Real > & ajv,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 146 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References conVal_, solveConRed(), and Sz_.

◆ applyAdjointJacobian_2()

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::applyAdjointJacobian_2 ( Vector< Real > & ajv,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

◆ applyInverseAdjointJacobian_1()

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::applyInverseAdjointJacobian_1 ( Vector< Real > & ijv,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 167 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References conVal_, solveConRed(), and Sz_.

◆ applyAdjointHessian_11()

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::applyAdjointHessian_11 ( Vector< Real > & ahwv,
const Vector< Real > & w,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 177 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References conVal_, solveConRed(), and Sz_.

◆ applyAdjointHessian_12()

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::applyAdjointHessian_12 ( Vector< Real > & ahwv,
const Vector< Real > & w,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

◆ applyAdjointHessian_21()

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::applyAdjointHessian_21 ( Vector< Real > & ahwv,
const Vector< Real > & w,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 200 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References applySens(), conVal_, primZ_, solveConRed(), and Sz_.

◆ applyAdjointHessian_22()

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::applyAdjointHessian_22 ( Vector< Real > & ahwv,
const Vector< Real > & w,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

◆ setParameter()

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::setParameter ( const std::vector< Real > & param)
overridevirtual

◆ solveConRed()

◆ applySens()

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::applySens ( Vector< Real > & jv,
const Vector< Real > & v,
const Vector< Real > & Sz,
const Vector< Real > & z,
Real & tol )
private

◆ applyAdjointSens()

template<typename Real>
void ROL::CompositeConstraint_SimOpt< Real >::applyAdjointSens ( Vector< Real > & ajv,
const Vector< Real > & v,
const Vector< Real > & Sz,
const Vector< Real > & z,
Real & tol )
private

Member Data Documentation

◆ conVal_

◆ conRed_

◆ Sz_

◆ primRed_

template<typename Real>
ROL::Ptr<Vector<Real> > ROL::CompositeConstraint_SimOpt< Real >::primRed_
private

◆ dualRed_

template<typename Real>
ROL::Ptr<Vector<Real> > ROL::CompositeConstraint_SimOpt< Real >::dualRed_
private

◆ primZ_

template<typename Real>
ROL::Ptr<Vector<Real> > ROL::CompositeConstraint_SimOpt< Real >::primZ_
private

◆ dualZ_

template<typename Real>
ROL::Ptr<Vector<Real> > ROL::CompositeConstraint_SimOpt< Real >::dualZ_
private

◆ dualZ1_

template<typename Real>
ROL::Ptr<Vector<Real> > ROL::CompositeConstraint_SimOpt< Real >::dualZ1_
private

◆ primU_

template<typename Real>
ROL::Ptr<Vector<Real> > ROL::CompositeConstraint_SimOpt< Real >::primU_
private

◆ stateStore_

template<typename Real>
ROL::Ptr<VectorController<Real> > ROL::CompositeConstraint_SimOpt< Real >::stateStore_
private

◆ updateFlag_

template<typename Real>
bool ROL::CompositeConstraint_SimOpt< Real >::updateFlag_
private

◆ newUpdate_

template<typename Real>
bool ROL::CompositeConstraint_SimOpt< Real >::newUpdate_
private

Definition at line 49 of file ROL_CompositeConstraint_SimOpt.hpp.

Referenced by CompositeConstraint_SimOpt(), and solveConRed().

◆ updateIter_

template<typename Real>
int ROL::CompositeConstraint_SimOpt< Real >::updateIter_
private

◆ updateType_

template<typename Real>
UpdateType ROL::CompositeConstraint_SimOpt< Real >::updateType_
private

◆ storage_

template<typename Real>
const bool ROL::CompositeConstraint_SimOpt< Real >::storage_
private

Definition at line 53 of file ROL_CompositeConstraint_SimOpt.hpp.

Referenced by CompositeConstraint_SimOpt(), and solveConRed().

◆ isConRedParametrized_

template<typename Real>
const bool ROL::CompositeConstraint_SimOpt< Real >::isConRedParametrized_
private

Definition at line 53 of file ROL_CompositeConstraint_SimOpt.hpp.

Referenced by CompositeConstraint_SimOpt(), and setParameter().


The documentation for this class was generated from the following files: