ROL
Constraint_BurgersControl< Real > Class Template Reference

#include <test_04.hpp>

Inheritance diagram for Constraint_BurgersControl< Real >:

Public Member Functions

 Constraint_BurgersControl (const ROL::Ptr< BurgersFEM< Real > > &fem, const bool useHessian=true)
void value (ROL::Vector< Real > &c, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).
void applyJacobian_1 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyInverseJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointJacobian_1 (ROL::Vector< Real > &ajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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.
void applyAdjointJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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.
void applyInverseAdjointJacobian_1 (ROL::Vector< Real > &iajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_11 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_12 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_21 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_22 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
 Constraint_BurgersControl (int nx=128, Real nu=1.e-2, Real u0=1.0, Real u1=0.0, Real f=0.0)
void value (ROL::Vector< Real > &c, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).
void applyJacobian_1 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyInverseJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointJacobian_1 (ROL::Vector< Real > &ajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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.
void applyAdjointJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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.
void applyInverseAdjointJacobian_1 (ROL::Vector< Real > &iajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_11 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_12 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_21 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_22 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
 Constraint_BurgersControl (int nx=128, int nt=100, Real T=1, Real nu=1.e-2, Real u0=0.0, Real u1=0.0, Real f=0.0)
void value (ROL::Vector< Real > &c, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).
void solve (ROL::Vector< Real > &c, ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Given \(z\), solve \(c(u,z)=0\) for \(u\).
void applyJacobian_1 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyInverseJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointJacobian_1 (ROL::Vector< Real > &ajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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.
void applyAdjointJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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.
void applyInverseAdjointJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_11 (ROL::Vector< Real > &hwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_12 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_21 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_22 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
 Constraint_BurgersControl (ROL::Ptr< BurgersFEM< Real > > &fem, bool useHessian=true)
void value (ROL::Vector< Real > &c, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).
void applyJacobian_1 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyInverseJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointJacobian_1 (ROL::Vector< Real > &ajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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.
void applyAdjointJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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.
void applyInverseAdjointJacobian_1 (ROL::Vector< Real > &iajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_11 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_12 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_21 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_22 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
 Constraint_BurgersControl (int nx=128)
void value (ROL::Vector< Real > &c, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).
void solve (ROL::Vector< Real > &c, ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Given \(z\), solve \(c(u,z)=0\) for \(u\).
void applyJacobian_1 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyInverseJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointJacobian_1 (ROL::Vector< Real > &ajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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.
void applyAdjointJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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.
void applyInverseAdjointJacobian_1 (ROL::Vector< Real > &iajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_11 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_12 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_21 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_22 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
 Constraint_BurgersControl (ROL::Ptr< BurgersFEM< Real > > &fem, bool useHessian=true)
void value (ROL::Vector< Real > &c, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).
void applyJacobian_1 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyInverseJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointJacobian_1 (ROL::Vector< Real > &ajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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.
void applyAdjointJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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.
void applyInverseAdjointJacobian_1 (ROL::Vector< Real > &iajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_11 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_12 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_21 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_22 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
 Constraint_BurgersControl (ROL::Ptr< BurgersFEM< Real > > &fem, bool useHessian=true)
void value (ROL::Vector< Real > &c, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).
void applyJacobian_1 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyInverseJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointJacobian_1 (ROL::Vector< Real > &ajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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.
void applyAdjointJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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.
void applyInverseAdjointJacobian_1 (ROL::Vector< Real > &iajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_11 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_12 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_21 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_22 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
 Constraint_BurgersControl (ROL::Ptr< BurgersFEM< Real > > &fem, bool useHessian=true)
void value (ROL::Vector< Real > &c, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).
void applyJacobian_1 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyInverseJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointJacobian_1 (ROL::Vector< Real > &ajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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.
void applyAdjointJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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.
void applyInverseAdjointJacobian_1 (ROL::Vector< Real > &iajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_11 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_12 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_21 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_22 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
 Constraint_BurgersControl (int nx=128)
void value (ROL::Vector< Real > &c, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).
void solve (ROL::Vector< Real > &c, ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Given \(z\), solve \(c(u,z)=0\) for \(u\).
void applyJacobian_1 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyInverseJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointJacobian_1 (ROL::Vector< Real > &ajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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.
void applyAdjointJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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.
void applyInverseAdjointJacobian_1 (ROL::Vector< Real > &iajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_11 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_12 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_21 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
void applyAdjointHessian_22 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\).
Public Member Functions inherited from 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 setSolveParameters (ParameterList &parlist)
 Set solve parameters.
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, 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 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)
virtual void value (Vector< Real > &c, const Vector< Real > &x, Real &tol)
virtual void applyJacobian (Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
virtual void applyAdjointJacobian (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
virtual void applyAdjointHessian (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
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 update (const Vector< Real > &x, UpdateType type, int iter=-1)
 Update constraint function.
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 value (Vector< Real > &c, const Vector< Real > &x, Real &tol)=0
 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 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\).
virtual void applyAdjointHessian (Vector< Real > &ahuv, const Vector< Real > &u, 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 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\). Ideally, this preconditioner satisfies the following relationship:
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.
virtual void setParameter (const std::vector< Real > &param)

Private Types

typedef H1VectorPrimal< Real > PrimalStateVector
typedef H1VectorDual< Real > DualStateVector
typedef L2VectorPrimal< Real > PrimalControlVector
typedef L2VectorDual< Real > DualControlVector
typedef H1VectorDual< Real > PrimalConstraintVector
typedef H1VectorPrimal< Real > DualConstraintVector
typedef H1VectorPrimal< Real > PrimalStateVector
typedef H1VectorDual< Real > DualStateVector
typedef L2VectorPrimal< Real > PrimalControlVector
typedef L2VectorDual< Real > DualControlVector
typedef H1VectorDual< Real > PrimalConstraintVector
typedef H1VectorPrimal< Real > DualConstraintVector
typedef H1VectorPrimal< Real > PrimalStateVector
typedef H1VectorDual< Real > DualStateVector
typedef L2VectorPrimal< Real > PrimalControlVector
typedef L2VectorDual< Real > DualControlVector
typedef H1VectorDual< Real > PrimalConstraintVector
typedef H1VectorPrimal< Real > DualConstraintVector
typedef H1VectorPrimal< Real > PrimalStateVector
typedef H1VectorDual< Real > DualStateVector
typedef L2VectorPrimal< Real > PrimalControlVector
typedef L2VectorDual< Real > DualControlVector
typedef H1VectorDual< Real > PrimalConstraintVector
typedef H1VectorPrimal< Real > DualConstraintVector
typedef std::vector< Real >::size_type uint
typedef H1VectorPrimal< Real > PrimalStateVector
typedef H1VectorDual< Real > DualStateVector
typedef L2VectorPrimal< Real > PrimalControlVector
typedef L2VectorDual< Real > DualControlVector
typedef H1VectorDual< Real > PrimalConstraintVector
typedef H1VectorPrimal< Real > DualConstraintVector

Private Member Functions

Real compute_norm (const std::vector< Real > &r)
Real dot (const std::vector< Real > &x, const std::vector< Real > &y)
void update (std::vector< Real > &u, const std::vector< Real > &s, const Real alpha=1.0)
void scale (std::vector< Real > &u, const Real alpha=0.0)
void compute_residual (std::vector< Real > &r, const std::vector< Real > &u, const std::vector< Real > &z)
void compute_pde_jacobian (std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &u)
void linear_solve (std::vector< Real > &u, std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &r, const bool transpose=false)
Real compute_norm (const std::vector< Real > &r)
Real dot (const std::vector< Real > &x, const std::vector< Real > &y)
void update (std::vector< Real > &u, const std::vector< Real > &s, const Real alpha=1.0)
void scale (std::vector< Real > &u, const Real alpha=0.0)
void compute_residual (std::vector< Real > &r, const std::vector< Real > &uold, const std::vector< Real > &zold, const std::vector< Real > &unew, const std::vector< Real > &znew)
void compute_pde_jacobian (std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &u)
void apply_pde_jacobian_new (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, bool adjoint=false)
void apply_pde_jacobian_old (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, bool adjoint=false)
void apply_pde_jacobian (std::vector< Real > &jv, const std::vector< Real > &vold, const std::vector< Real > &uold, const std::vector< Real > &vnew, const std::vector< Real > unew, bool adjoint=false)
void apply_pde_hessian (std::vector< Real > &hv, const std::vector< Real > &wold, const std::vector< Real > &vold, const std::vector< Real > &wnew, const std::vector< Real > &vnew)
void apply_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, bool adjoint=false)
void run_newton (std::vector< Real > &u, const std::vector< Real > &znew, const std::vector< Real > &uold, const std::vector< Real > &zold)
void linear_solve (std::vector< Real > &u, const std::vector< Real > &dl, const std::vector< Real > &d, const std::vector< Real > &du, const std::vector< Real > &r, const bool transpose=false)
Real compute_norm (const std::vector< Real > &r)
Real dot (const std::vector< Real > &x, const std::vector< Real > &y)
void update (std::vector< Real > &u, const std::vector< Real > &s, const Real alpha=1.0)
void scale (std::vector< Real > &u, const Real alpha=0.0)
void compute_residual (std::vector< Real > &r, const std::vector< Real > &u, const std::vector< Real > &z)
void compute_pde_jacobian (std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &u)
void linear_solve (std::vector< Real > &u, std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &r, const bool transpose=false)
Real compute_norm (const std::vector< Real > &r)
Real dot (const std::vector< Real > &x, const std::vector< Real > &y)
void update (std::vector< Real > &u, const std::vector< Real > &s, const Real alpha=1.0)
void scale (std::vector< Real > &u, const Real alpha=0.0)
void compute_residual (std::vector< Real > &r, const std::vector< Real > &u, const std::vector< Real > &z)
void compute_pde_jacobian (std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &u)
void linear_solve (std::vector< Real > &u, std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &r, const bool transpose=false)

Private Attributes

ROL::Ptr< BurgersFEM< Real > > fem_
bool useHessian_
int nx_
Real dx_
Real nu_
Real u0_
Real u1_
Real f_
unsigned nx_
unsigned nt_
Real T_
Real dt_
std::vector< Real > u_init_

Additional Inherited Members

Protected Member Functions inherited from ROL::ROL::Constraint< Real >
const std::vector< Real > getParameter (void) const
Protected Attributes inherited from 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<class Real>
class Constraint_BurgersControl< Real >

Definition at line 670 of file test_04.hpp.

Member Typedef Documentation

◆ PrimalStateVector [1/5]

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalStateVector
private

Definition at line 673 of file test_04.hpp.

◆ DualStateVector [1/5]

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::DualStateVector
private

Definition at line 674 of file test_04.hpp.

◆ PrimalControlVector [1/5]

template<class Real>
typedef L2VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalControlVector
private

Definition at line 676 of file test_04.hpp.

◆ DualControlVector [1/5]

template<class Real>
typedef L2VectorDual<Real> Constraint_BurgersControl< Real >::DualControlVector
private

Definition at line 677 of file test_04.hpp.

◆ PrimalConstraintVector [1/5]

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::PrimalConstraintVector
private

Definition at line 679 of file test_04.hpp.

◆ DualConstraintVector [1/5]

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::DualConstraintVector
private

Definition at line 680 of file test_04.hpp.

◆ PrimalStateVector [2/5]

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalStateVector
private

Definition at line 854 of file example_04.hpp.

◆ DualStateVector [2/5]

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::DualStateVector
private

Definition at line 855 of file example_04.hpp.

◆ PrimalControlVector [2/5]

template<class Real>
typedef L2VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalControlVector
private

Definition at line 857 of file example_04.hpp.

◆ DualControlVector [2/5]

template<class Real>
typedef L2VectorDual<Real> Constraint_BurgersControl< Real >::DualControlVector
private

Definition at line 858 of file example_04.hpp.

◆ PrimalConstraintVector [2/5]

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::PrimalConstraintVector
private

Definition at line 860 of file example_04.hpp.

◆ DualConstraintVector [2/5]

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::DualConstraintVector
private

Definition at line 861 of file example_04.hpp.

◆ PrimalStateVector [3/5]

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalStateVector
private

Definition at line 858 of file example_06.hpp.

◆ DualStateVector [3/5]

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::DualStateVector
private

Definition at line 859 of file example_06.hpp.

◆ PrimalControlVector [3/5]

template<class Real>
typedef L2VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalControlVector
private

Definition at line 861 of file example_06.hpp.

◆ DualControlVector [3/5]

template<class Real>
typedef L2VectorDual<Real> Constraint_BurgersControl< Real >::DualControlVector
private

Definition at line 862 of file example_06.hpp.

◆ PrimalConstraintVector [3/5]

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::PrimalConstraintVector
private

Definition at line 864 of file example_06.hpp.

◆ DualConstraintVector [3/5]

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::DualConstraintVector
private

Definition at line 865 of file example_06.hpp.

◆ PrimalStateVector [4/5]

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalStateVector
private

Definition at line 862 of file example_07.hpp.

◆ DualStateVector [4/5]

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::DualStateVector
private

Definition at line 863 of file example_07.hpp.

◆ PrimalControlVector [4/5]

template<class Real>
typedef L2VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalControlVector
private

Definition at line 865 of file example_07.hpp.

◆ DualControlVector [4/5]

template<class Real>
typedef L2VectorDual<Real> Constraint_BurgersControl< Real >::DualControlVector
private

Definition at line 866 of file example_07.hpp.

◆ PrimalConstraintVector [4/5]

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::PrimalConstraintVector
private

Definition at line 868 of file example_07.hpp.

◆ DualConstraintVector [4/5]

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::DualConstraintVector
private

Definition at line 869 of file example_07.hpp.

◆ uint

template<class Real>
typedef std::vector<Real>::size_type Constraint_BurgersControl< Real >::uint
private

Definition at line 871 of file example_07.hpp.

◆ PrimalStateVector [5/5]

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalStateVector
private

Definition at line 662 of file example_08.hpp.

◆ DualStateVector [5/5]

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::DualStateVector
private

Definition at line 663 of file example_08.hpp.

◆ PrimalControlVector [5/5]

template<class Real>
typedef L2VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalControlVector
private

Definition at line 665 of file example_08.hpp.

◆ DualControlVector [5/5]

template<class Real>
typedef L2VectorDual<Real> Constraint_BurgersControl< Real >::DualControlVector
private

Definition at line 666 of file example_08.hpp.

◆ PrimalConstraintVector [5/5]

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::PrimalConstraintVector
private

Definition at line 668 of file example_08.hpp.

◆ DualConstraintVector [5/5]

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::DualConstraintVector
private

Definition at line 669 of file example_08.hpp.

Constructor & Destructor Documentation

◆ Constraint_BurgersControl() [1/9]

template<class Real>
Constraint_BurgersControl< Real >::Constraint_BurgersControl ( const ROL::Ptr< BurgersFEM< Real > > & fem,
const bool useHessian = true )
inline

Definition at line 686 of file test_04.hpp.

References fem_, and useHessian_.

◆ Constraint_BurgersControl() [2/9]

template<class Real>
Constraint_BurgersControl< Real >::Constraint_BurgersControl ( int nx = 128,
Real nu = 1.e-2,
Real u0 = 1.0,
Real u1 = 0.0,
Real f = 0.0 )
inline

Definition at line 142 of file burgers-control/example_02.hpp.

References dx_, f_, nu_, nx_, u0_, and u1_.

◆ Constraint_BurgersControl() [3/9]

template<class Real>
Constraint_BurgersControl< Real >::Constraint_BurgersControl ( int nx = 128,
int nt = 100,
Real T = 1,
Real nu = 1.e-2,
Real u0 = 0.0,
Real u1 = 0.0,
Real f = 0.0 )
inline

Definition at line 400 of file example_03.hpp.

References dt_, dx_, f_, nt_, nu_, nx_, T_, u0_, u1_, and u_init_.

◆ Constraint_BurgersControl() [4/9]

template<class Real>
Constraint_BurgersControl< Real >::Constraint_BurgersControl ( ROL::Ptr< BurgersFEM< Real > > & fem,
bool useHessian = true )
inline

Definition at line 867 of file example_04.hpp.

References fem_, and useHessian_.

◆ Constraint_BurgersControl() [5/9]

template<class Real>
Constraint_BurgersControl< Real >::Constraint_BurgersControl ( int nx = 128)
inline

Definition at line 156 of file example_05.hpp.

References dx_, and nx_.

◆ Constraint_BurgersControl() [6/9]

template<class Real>
Constraint_BurgersControl< Real >::Constraint_BurgersControl ( ROL::Ptr< BurgersFEM< Real > > & fem,
bool useHessian = true )
inline

Definition at line 871 of file example_06.hpp.

References fem_, and useHessian_.

◆ Constraint_BurgersControl() [7/9]

template<class Real>
Constraint_BurgersControl< Real >::Constraint_BurgersControl ( ROL::Ptr< BurgersFEM< Real > > & fem,
bool useHessian = true )
inline

Definition at line 877 of file example_07.hpp.

References fem_, and useHessian_.

◆ Constraint_BurgersControl() [8/9]

template<class Real>
Constraint_BurgersControl< Real >::Constraint_BurgersControl ( ROL::Ptr< BurgersFEM< Real > > & fem,
bool useHessian = true )
inline

Definition at line 675 of file example_08.hpp.

References fem_, and useHessian_.

◆ Constraint_BurgersControl() [9/9]

template<class Real>
Constraint_BurgersControl< Real >::Constraint_BurgersControl ( int nx = 128)
inline

Definition at line 158 of file example_10.hpp.

References dx_, and nx_.

Member Function Documentation

◆ value() [1/9]

template<class Real>
void Constraint_BurgersControl< Real >::value ( ROL::Vector< Real > & c,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{c} = c(u,z)\), where \(\mathsf{c} \in \mathcal{C}\), \(\mathsf{u} \in \mathcal{U}\), and $ \(\mathsf{z} \in\mathcal{Z}\).


Implements ROL::Constraint_SimOpt< Real >.

Definition at line 690 of file test_04.hpp.

References fem_.

Referenced by solve().

◆ applyJacobian_1() [1/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_1 ( ROL::Vector< Real > & jv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).

Parameters
[out]jvis the result of applying the constraint Jacobian to v at \((u,z)\); a constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; an simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{jv} = c_u(u,z)v\), where \(v \in \mathcal{U}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 702 of file test_04.hpp.

References fem_.

◆ applyJacobian_2() [1/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_2 ( ROL::Vector< Real > & jv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).

Parameters
[out]jvis the result of applying the constraint Jacobian to v at \((u,z)\); a constraint-space vector
[in]vis an optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{jv} = c_z(u,z)v\), where \(v \in \mathcal{Z}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 716 of file test_04.hpp.

References fem_.

◆ applyInverseJacobian_1() [1/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseJacobian_1 ( ROL::Vector< Real > & ijv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).

Parameters
[out]ijvis the result of applying the inverse constraint Jacobian to v at \((u,z)\); a simulation-space vector
[in]vis a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ijv} = c_u(u,z)^{-1}v\), where \(v \in \mathcal{C}\), \(\mathsf{ijv} \in \mathcal{U}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 730 of file test_04.hpp.

References fem_.

◆ applyAdjointJacobian_1() [1/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_1 ( ROL::Vector< Real > & ajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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.

Parameters
[out]ajvis the result of applying the adjoint of the constraint Jacobian to v at (u,z); a dual simulation-space vector
[in]vis a dual constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ajv} = c_u(u,z)^*v\), where \(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 744 of file test_04.hpp.

References fem_.

◆ applyAdjointJacobian_2() [1/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_2 ( ROL::Vector< Real > & ajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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.

Parameters
[out]ajvis the result of applying the adjoint of the constraint Jacobian to v at \((u,z)\); a dual optimization-space vector
[in]vis a dual constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ajv} = c_z(u,z)^*v\), where \(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 758 of file test_04.hpp.

References fem_.

◆ applyInverseAdjointJacobian_1() [1/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseAdjointJacobian_1 ( ROL::Vector< Real > & iajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]iajvis the result of applying the inverse adjoint of the constraint Jacobian to v at (u,z); a dual constraint-space vector
[in]vis a dual simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{iajv} = c_u(u,z)^{-*}v\), where \(v \in \mathcal{U}^*\), \(\mathsf{iajv} \in \mathcal{C}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 772 of file test_04.hpp.

References fem_.

Referenced by main().

◆ applyAdjointHessian_11() [1/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_11 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual simulation-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{uu}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 786 of file test_04.hpp.

References fem_, useHessian_, and ROL::Vector< Real >::zero().

◆ applyAdjointHessian_12() [1/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_12 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual optimization-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{uz}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 807 of file test_04.hpp.

References fem_, useHessian_, and ROL::Vector< Real >::zero().

◆ applyAdjointHessian_21() [1/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_21 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual simulation-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{zu}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 827 of file test_04.hpp.

References fem_, useHessian_, and ROL::Vector< Real >::zero().

◆ applyAdjointHessian_22() [1/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_22 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual optimization-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{zz}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 847 of file test_04.hpp.

References fem_, useHessian_, and ROL::Vector< Real >::zero().

◆ compute_norm() [1/4]

template<class Real>
Real Constraint_BurgersControl< Real >::compute_norm ( const std::vector< Real > & r)
inlineprivate

Definition at line 30 of file burgers-control/example_02.hpp.

References dot().

Referenced by run_newton().

◆ dot() [1/4]

template<class Real>
Real Constraint_BurgersControl< Real >::dot ( const std::vector< Real > & x,
const std::vector< Real > & y )
inlineprivate

Definition at line 34 of file burgers-control/example_02.hpp.

Referenced by compute_norm(), and linear_solve().

◆ update() [1/4]

template<class Real>
void Constraint_BurgersControl< Real >::update ( std::vector< Real > & u,
const std::vector< Real > & s,
const Real alpha = 1.0 )
inlineprivate

◆ scale() [1/4]

template<class Real>
void Constraint_BurgersControl< Real >::scale ( std::vector< Real > & u,
const Real alpha = 0.0 )
inlineprivate

Definition at line 59 of file burgers-control/example_02.hpp.

◆ compute_residual() [1/4]

template<class Real>
void Constraint_BurgersControl< Real >::compute_residual ( std::vector< Real > & r,
const std::vector< Real > & u,
const std::vector< Real > & z )
inlineprivate

Definition at line 65 of file burgers-control/example_02.hpp.

References nx_.

Referenced by run_newton(), and value().

◆ compute_pde_jacobian() [1/4]

template<class Real>
void Constraint_BurgersControl< Real >::compute_pde_jacobian ( std::vector< Real > & dl,
std::vector< Real > & d,
std::vector< Real > & du,
const std::vector< Real > & u )
inlineprivate

◆ linear_solve() [1/4]

template<class Real>
void Constraint_BurgersControl< Real >::linear_solve ( std::vector< Real > & u,
std::vector< Real > & dl,
std::vector< Real > & d,
std::vector< Real > & du,
const std::vector< Real > & r,
const bool transpose = false )
inlineprivate

◆ value() [2/9]

template<class Real>
void Constraint_BurgersControl< Real >::value ( ROL::Vector< Real > & c,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{c} = c(u,z)\), where \(\mathsf{c} \in \mathcal{C}\), \(\mathsf{u} \in \mathcal{U}\), and $ \(\mathsf{z} \in\mathcal{Z}\).


Implements ROL::Constraint_SimOpt< Real >.

Definition at line 147 of file burgers-control/example_02.hpp.

References compute_residual().

◆ applyJacobian_1() [2/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_1 ( ROL::Vector< Real > & jv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).

Parameters
[out]jvis the result of applying the constraint Jacobian to v at \((u,z)\); a constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; an simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{jv} = c_u(u,z)v\), where \(v \in \mathcal{U}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 158 of file burgers-control/example_02.hpp.

References nx_.

◆ applyJacobian_2() [2/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_2 ( ROL::Vector< Real > & jv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).

Parameters
[out]jvis the result of applying the constraint Jacobian to v at \((u,z)\); a constraint-space vector
[in]vis an optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{jv} = c_z(u,z)v\), where \(v \in \mathcal{Z}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 186 of file burgers-control/example_02.hpp.

◆ applyInverseJacobian_1() [2/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseJacobian_1 ( ROL::Vector< Real > & ijv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).

Parameters
[out]ijvis the result of applying the inverse constraint Jacobian to v at \((u,z)\); a simulation-space vector
[in]vis a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ijv} = c_u(u,z)^{-1}v\), where \(v \in \mathcal{C}\), \(\mathsf{ijv} \in \mathcal{U}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 202 of file burgers-control/example_02.hpp.

References compute_pde_jacobian(), and linear_solve().

◆ applyAdjointJacobian_1() [2/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_1 ( ROL::Vector< Real > & ajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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.

Parameters
[out]ajvis the result of applying the adjoint of the constraint Jacobian to v at (u,z); a dual simulation-space vector
[in]vis a dual constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ajv} = c_u(u,z)^*v\), where \(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 221 of file burgers-control/example_02.hpp.

References nx_.

◆ applyAdjointJacobian_2() [2/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_2 ( ROL::Vector< Real > & ajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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.

Parameters
[out]ajvis the result of applying the adjoint of the constraint Jacobian to v at \((u,z)\); a dual optimization-space vector
[in]vis a dual constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ajv} = c_z(u,z)^*v\), where \(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 249 of file burgers-control/example_02.hpp.

◆ applyInverseAdjointJacobian_1() [2/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseAdjointJacobian_1 ( ROL::Vector< Real > & iajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]iajvis the result of applying the inverse adjoint of the constraint Jacobian to v at (u,z); a dual constraint-space vector
[in]vis a dual simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{iajv} = c_u(u,z)^{-*}v\), where \(v \in \mathcal{U}^*\), \(\mathsf{iajv} \in \mathcal{C}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 278 of file burgers-control/example_02.hpp.

References compute_pde_jacobian(), and linear_solve().

◆ applyAdjointHessian_11() [2/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_11 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual simulation-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{uu}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 295 of file burgers-control/example_02.hpp.

References nx_.

◆ applyAdjointHessian_12() [2/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_12 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual optimization-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{uz}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 319 of file burgers-control/example_02.hpp.

References ROL::Vector< Real >::zero().

◆ applyAdjointHessian_21() [2/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_21 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual simulation-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{zu}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 323 of file burgers-control/example_02.hpp.

References ROL::Vector< Real >::zero().

◆ applyAdjointHessian_22() [2/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_22 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual optimization-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{zz}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 327 of file burgers-control/example_02.hpp.

References ROL::Vector< Real >::zero().

◆ compute_norm() [2/4]

template<class Real>
Real Constraint_BurgersControl< Real >::compute_norm ( const std::vector< Real > & r)
inlineprivate

Definition at line 52 of file example_03.hpp.

References dot().

◆ dot() [2/4]

template<class Real>
Real Constraint_BurgersControl< Real >::dot ( const std::vector< Real > & x,
const std::vector< Real > & y )
inlineprivate

Definition at line 56 of file example_03.hpp.

References dx_, and nx_.

◆ update() [2/4]

template<class Real>
void Constraint_BurgersControl< Real >::update ( std::vector< Real > & u,
const std::vector< Real > & s,
const Real alpha = 1.0 )
inlineprivate

Definition at line 75 of file example_03.hpp.

◆ scale() [2/4]

template<class Real>
void Constraint_BurgersControl< Real >::scale ( std::vector< Real > & u,
const Real alpha = 0.0 )
inlineprivate

Definition at line 81 of file example_03.hpp.

◆ compute_residual() [2/4]

template<class Real>
void Constraint_BurgersControl< Real >::compute_residual ( std::vector< Real > & r,
const std::vector< Real > & uold,
const std::vector< Real > & zold,
const std::vector< Real > & unew,
const std::vector< Real > & znew )
inlineprivate

Definition at line 87 of file example_03.hpp.

References dt_, dx_, f_, nu_, nx_, u0_, and u1_.

◆ compute_pde_jacobian() [2/4]

template<class Real>
void Constraint_BurgersControl< Real >::compute_pde_jacobian ( std::vector< Real > & dl,
std::vector< Real > & d,
std::vector< Real > & du,
const std::vector< Real > & u )
inlineprivate

Definition at line 123 of file example_03.hpp.

References dt_, dx_, nu_, nx_, u0_, and u1_.

◆ apply_pde_jacobian_new()

template<class Real>
void Constraint_BurgersControl< Real >::apply_pde_jacobian_new ( std::vector< Real > & jv,
const std::vector< Real > & v,
const std::vector< Real > & u,
bool adjoint = false )
inlineprivate

Definition at line 148 of file example_03.hpp.

References dt_, dx_, nu_, nx_, u0_, and u1_.

◆ apply_pde_jacobian_old()

template<class Real>
void Constraint_BurgersControl< Real >::apply_pde_jacobian_old ( std::vector< Real > & jv,
const std::vector< Real > & v,
const std::vector< Real > & u,
bool adjoint = false )
inlineprivate

Definition at line 178 of file example_03.hpp.

References dt_, dx_, nu_, nx_, u0_, and u1_.

Referenced by applyInverseAdjointJacobian_1(), and applyInverseJacobian_1().

◆ apply_pde_jacobian()

template<class Real>
void Constraint_BurgersControl< Real >::apply_pde_jacobian ( std::vector< Real > & jv,
const std::vector< Real > & vold,
const std::vector< Real > & uold,
const std::vector< Real > & vnew,
const std::vector< Real > unew,
bool adjoint = false )
inlineprivate

Definition at line 208 of file example_03.hpp.

References dt_, dx_, nu_, nx_, u0_, and u1_.

Referenced by applyAdjointJacobian_1(), and applyJacobian_1().

◆ apply_pde_hessian()

template<class Real>
void Constraint_BurgersControl< Real >::apply_pde_hessian ( std::vector< Real > & hv,
const std::vector< Real > & wold,
const std::vector< Real > & vold,
const std::vector< Real > & wnew,
const std::vector< Real > & vnew )
inlineprivate

Definition at line 247 of file example_03.hpp.

References dt_, and nx_.

Referenced by applyAdjointHessian_11().

◆ apply_control_jacobian()

template<class Real>
void Constraint_BurgersControl< Real >::apply_control_jacobian ( std::vector< Real > & jv,
const std::vector< Real > & v,
bool adjoint = false )
inlineprivate

Definition at line 263 of file example_03.hpp.

References dim, dt_, dx_, and nx_.

Referenced by applyAdjointJacobian_2(), and applyJacobian_2().

◆ run_newton()

template<class Real>
void Constraint_BurgersControl< Real >::run_newton ( std::vector< Real > & u,
const std::vector< Real > & znew,
const std::vector< Real > & uold,
const std::vector< Real > & zold )
inlineprivate

◆ linear_solve() [2/4]

template<class Real>
void Constraint_BurgersControl< Real >::linear_solve ( std::vector< Real > & u,
const std::vector< Real > & dl,
const std::vector< Real > & d,
const std::vector< Real > & du,
const std::vector< Real > & r,
const bool transpose = false )
inlineprivate

Definition at line 338 of file example_03.hpp.

References dot(), and nx_.

◆ value() [3/9]

template<class Real>
void Constraint_BurgersControl< Real >::value ( ROL::Vector< Real > & c,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{c} = c(u,z)\), where \(\mathsf{c} \in \mathcal{C}\), \(\mathsf{u} \in \mathcal{U}\), and $ \(\mathsf{z} \in\mathcal{Z}\).


Implements ROL::Constraint_SimOpt< Real >.

Definition at line 414 of file example_03.hpp.

References compute_residual(), nt_, nx_, and u_init_.

◆ solve() [1/3]

template<class Real>
void Constraint_BurgersControl< Real >::solve ( ROL::Vector< Real > & c,
ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Given \(z\), solve \(c(u,z)=0\) for \(u\).

  @param[out]      c   is the result of evaluating the constraint operator at @b \f$(u,z)\f$; a constraint-space vector
  @param[in,out]   u   is the solution vector; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  The defualt implementation is Newton's method globalized with a backtracking line search.

  ---

Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 453 of file example_03.hpp.

References ROL::Vector< Real >::norm(), nt_, nx_, run_newton(), u_init_, and value().

Referenced by main().

◆ applyJacobian_1() [3/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_1 ( ROL::Vector< Real > & jv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).

Parameters
[out]jvis the result of applying the constraint Jacobian to v at \((u,z)\); a constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; an simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{jv} = c_u(u,z)v\), where \(v \in \mathcal{U}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 487 of file example_03.hpp.

References apply_pde_jacobian(), nt_, and nx_.

◆ applyJacobian_2() [3/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_2 ( ROL::Vector< Real > & jv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).

Parameters
[out]jvis the result of applying the constraint Jacobian to v at \((u,z)\); a constraint-space vector
[in]vis an optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{jv} = c_z(u,z)v\), where \(v \in \mathcal{Z}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 514 of file example_03.hpp.

References apply_control_jacobian(), nt_, and nx_.

◆ applyInverseJacobian_1() [3/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseJacobian_1 ( ROL::Vector< Real > & ijv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).

Parameters
[out]ijvis the result of applying the inverse constraint Jacobian to v at \((u,z)\); a simulation-space vector
[in]vis a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ijv} = c_u(u,z)^{-1}v\), where \(v \in \mathcal{C}\), \(\mathsf{ijv} \in \mathcal{U}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 543 of file example_03.hpp.

References apply_pde_jacobian_old(), compute_pde_jacobian(), linear_solve(), nt_, nx_, and update().

◆ applyAdjointJacobian_1() [3/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_1 ( ROL::Vector< Real > & ajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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.

Parameters
[out]ajvis the result of applying the adjoint of the constraint Jacobian to v at (u,z); a dual simulation-space vector
[in]vis a dual constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ajv} = c_u(u,z)^*v\), where \(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 579 of file example_03.hpp.

References apply_pde_jacobian(), nt_, and nx_.

◆ applyAdjointJacobian_2() [3/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_2 ( ROL::Vector< Real > & ajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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.

Parameters
[out]ajvis the result of applying the adjoint of the constraint Jacobian to v at \((u,z)\); a dual optimization-space vector
[in]vis a dual constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ajv} = c_z(u,z)^*v\), where \(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 604 of file example_03.hpp.

References apply_control_jacobian(), nt_, and nx_.

◆ applyInverseAdjointJacobian_1() [3/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseAdjointJacobian_1 ( ROL::Vector< Real > & iajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]iajvis the result of applying the inverse adjoint of the constraint Jacobian to v at (u,z); a dual constraint-space vector
[in]vis a dual simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{iajv} = c_u(u,z)^{-*}v\), where \(v \in \mathcal{U}^*\), \(\mathsf{iajv} \in \mathcal{C}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 634 of file example_03.hpp.

References apply_pde_jacobian_old(), compute_pde_jacobian(), linear_solve(), nt_, nx_, and update().

◆ applyAdjointHessian_11() [3/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_11 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual simulation-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{uu}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 668 of file example_03.hpp.

References apply_pde_hessian(), nt_, and nx_.

◆ applyAdjointHessian_12() [3/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_12 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual optimization-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{uz}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 693 of file example_03.hpp.

References ROL::Vector< Real >::zero().

◆ applyAdjointHessian_21() [3/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_21 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual simulation-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{zu}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 697 of file example_03.hpp.

References ROL::Vector< Real >::zero().

◆ applyAdjointHessian_22() [3/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_22 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual optimization-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{zz}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 701 of file example_03.hpp.

References ROL::Vector< Real >::zero().

◆ value() [4/9]

template<class Real>
void Constraint_BurgersControl< Real >::value ( ROL::Vector< Real > & c,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{c} = c(u,z)\), where \(\mathsf{c} \in \mathcal{C}\), \(\mathsf{u} \in \mathcal{U}\), and $ \(\mathsf{z} \in\mathcal{Z}\).


Implements ROL::Constraint_SimOpt< Real >.

Definition at line 870 of file example_04.hpp.

References fem_.

◆ applyJacobian_1() [4/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_1 ( ROL::Vector< Real > & jv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).

Parameters
[out]jvis the result of applying the constraint Jacobian to v at \((u,z)\); a constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; an simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{jv} = c_u(u,z)v\), where \(v \in \mathcal{U}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 883 of file example_04.hpp.

References fem_.

◆ applyJacobian_2() [4/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_2 ( ROL::Vector< Real > & jv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).

Parameters
[out]jvis the result of applying the constraint Jacobian to v at \((u,z)\); a constraint-space vector
[in]vis an optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{jv} = c_z(u,z)v\), where \(v \in \mathcal{Z}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 896 of file example_04.hpp.

References fem_.

◆ applyInverseJacobian_1() [4/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseJacobian_1 ( ROL::Vector< Real > & ijv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).

Parameters
[out]ijvis the result of applying the inverse constraint Jacobian to v at \((u,z)\); a simulation-space vector
[in]vis a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ijv} = c_u(u,z)^{-1}v\), where \(v \in \mathcal{C}\), \(\mathsf{ijv} \in \mathcal{U}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 909 of file example_04.hpp.

References fem_.

◆ applyAdjointJacobian_1() [4/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_1 ( ROL::Vector< Real > & ajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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.

Parameters
[out]ajvis the result of applying the adjoint of the constraint Jacobian to v at (u,z); a dual simulation-space vector
[in]vis a dual constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ajv} = c_u(u,z)^*v\), where \(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 922 of file example_04.hpp.

References fem_.

◆ applyAdjointJacobian_2() [4/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_2 ( ROL::Vector< Real > & ajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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.

Parameters
[out]ajvis the result of applying the adjoint of the constraint Jacobian to v at \((u,z)\); a dual optimization-space vector
[in]vis a dual constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ajv} = c_z(u,z)^*v\), where \(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 935 of file example_04.hpp.

References fem_.

◆ applyInverseAdjointJacobian_1() [4/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseAdjointJacobian_1 ( ROL::Vector< Real > & iajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]iajvis the result of applying the inverse adjoint of the constraint Jacobian to v at (u,z); a dual constraint-space vector
[in]vis a dual simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{iajv} = c_u(u,z)^{-*}v\), where \(v \in \mathcal{U}^*\), \(\mathsf{iajv} \in \mathcal{C}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 948 of file example_04.hpp.

References fem_.

◆ applyAdjointHessian_11() [4/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_11 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual simulation-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{uu}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 961 of file example_04.hpp.

References fem_, useHessian_, and ROL::Vector< Real >::zero().

◆ applyAdjointHessian_12() [4/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_12 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual optimization-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{uz}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 981 of file example_04.hpp.

References fem_, useHessian_, and ROL::Vector< Real >::zero().

◆ applyAdjointHessian_21() [4/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_21 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual simulation-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{zu}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1000 of file example_04.hpp.

References fem_, useHessian_, and ROL::Vector< Real >::zero().

◆ applyAdjointHessian_22() [4/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_22 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual optimization-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{zz}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1019 of file example_04.hpp.

References fem_, useHessian_, and ROL::Vector< Real >::zero().

◆ compute_norm() [3/4]

template<class Real>
Real Constraint_BurgersControl< Real >::compute_norm ( const std::vector< Real > & r)
inlineprivate

Definition at line 37 of file example_05.hpp.

References dot().

◆ dot() [3/4]

template<class Real>
Real Constraint_BurgersControl< Real >::dot ( const std::vector< Real > & x,
const std::vector< Real > & y )
inlineprivate

Definition at line 41 of file example_05.hpp.

References dx_, and nx_.

◆ update() [3/4]

template<class Real>
void Constraint_BurgersControl< Real >::update ( std::vector< Real > & u,
const std::vector< Real > & s,
const Real alpha = 1.0 )
inlineprivate

Definition at line 60 of file example_05.hpp.

◆ scale() [3/4]

template<class Real>
void Constraint_BurgersControl< Real >::scale ( std::vector< Real > & u,
const Real alpha = 0.0 )
inlineprivate

Definition at line 66 of file example_05.hpp.

◆ compute_residual() [3/4]

template<class Real>
void Constraint_BurgersControl< Real >::compute_residual ( std::vector< Real > & r,
const std::vector< Real > & u,
const std::vector< Real > & z )
inlineprivate

Definition at line 72 of file example_05.hpp.

References dx_, ROL::ROL::Constraint< Real >::getParameter(), and nx_.

◆ compute_pde_jacobian() [3/4]

template<class Real>
void Constraint_BurgersControl< Real >::compute_pde_jacobian ( std::vector< Real > & dl,
std::vector< Real > & d,
std::vector< Real > & du,
const std::vector< Real > & u )
inlineprivate

Definition at line 109 of file example_05.hpp.

References dx_, ROL::ROL::Constraint< Real >::getParameter(), and nx_.

◆ linear_solve() [3/4]

template<class Real>
void Constraint_BurgersControl< Real >::linear_solve ( std::vector< Real > & u,
std::vector< Real > & dl,
std::vector< Real > & d,
std::vector< Real > & du,
const std::vector< Real > & r,
const bool transpose = false )
inlineprivate

Definition at line 136 of file example_05.hpp.

References nx_.

◆ value() [5/9]

template<class Real>
void Constraint_BurgersControl< Real >::value ( ROL::Vector< Real > & c,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{c} = c(u,z)\), where \(\mathsf{c} \in \mathcal{C}\), \(\mathsf{u} \in \mathcal{U}\), and $ \(\mathsf{z} \in\mathcal{Z}\).


Implements ROL::Constraint_SimOpt< Real >.

Definition at line 158 of file example_05.hpp.

References compute_residual().

◆ solve() [2/3]

template<class Real>
void Constraint_BurgersControl< Real >::solve ( ROL::Vector< Real > & c,
ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Given \(z\), solve \(c(u,z)=0\) for \(u\).

  @param[out]      c   is the result of evaluating the constraint operator at @b \f$(u,z)\f$; a constraint-space vector
  @param[in,out]   u   is the solution vector; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  The defualt implementation is Newton's method globalized with a backtracking line search.

  ---

Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 169 of file example_05.hpp.

References ROL::Constraint_SimOpt< Real >::solve().

◆ applyJacobian_1() [5/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_1 ( ROL::Vector< Real > & jv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).

Parameters
[out]jvis the result of applying the constraint Jacobian to v at \((u,z)\); a constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; an simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{jv} = c_u(u,z)v\), where \(v \in \mathcal{U}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 176 of file example_05.hpp.

References dx_, ROL::ROL::Constraint< Real >::getParameter(), and nx_.

◆ applyJacobian_2() [5/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_2 ( ROL::Vector< Real > & jv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).

Parameters
[out]jvis the result of applying the constraint Jacobian to v at \((u,z)\); a constraint-space vector
[in]vis an optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{jv} = c_z(u,z)v\), where \(v \in \mathcal{Z}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 209 of file example_05.hpp.

References dx_, and nx_.

◆ applyInverseJacobian_1() [5/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseJacobian_1 ( ROL::Vector< Real > & ijv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).

Parameters
[out]ijvis the result of applying the inverse constraint Jacobian to v at \((u,z)\); a simulation-space vector
[in]vis a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ijv} = c_u(u,z)^{-1}v\), where \(v \in \mathcal{C}\), \(\mathsf{ijv} \in \mathcal{U}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 225 of file example_05.hpp.

References compute_pde_jacobian(), linear_solve(), and nx_.

◆ applyAdjointJacobian_1() [5/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_1 ( ROL::Vector< Real > & ajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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.

Parameters
[out]ajvis the result of applying the adjoint of the constraint Jacobian to v at (u,z); a dual simulation-space vector
[in]vis a dual constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ajv} = c_u(u,z)^*v\), where \(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 244 of file example_05.hpp.

References dx_, ROL::ROL::Constraint< Real >::getParameter(), and nx_.

◆ applyAdjointJacobian_2() [5/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_2 ( ROL::Vector< Real > & ajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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.

Parameters
[out]ajvis the result of applying the adjoint of the constraint Jacobian to v at \((u,z)\); a dual optimization-space vector
[in]vis a dual constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ajv} = c_z(u,z)^*v\), where \(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 277 of file example_05.hpp.

References dx_, and nx_.

◆ applyInverseAdjointJacobian_1() [5/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseAdjointJacobian_1 ( ROL::Vector< Real > & iajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]iajvis the result of applying the inverse adjoint of the constraint Jacobian to v at (u,z); a dual constraint-space vector
[in]vis a dual simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{iajv} = c_u(u,z)^{-*}v\), where \(v \in \mathcal{U}^*\), \(\mathsf{iajv} \in \mathcal{C}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 306 of file example_05.hpp.

References compute_pde_jacobian(), linear_solve(), and nx_.

◆ applyAdjointHessian_11() [5/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_11 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual simulation-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{uu}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 323 of file example_05.hpp.

References nx_.

◆ applyAdjointHessian_12() [5/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_12 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual optimization-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{uz}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 347 of file example_05.hpp.

References ROL::Vector< Real >::zero().

◆ applyAdjointHessian_21() [5/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_21 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual simulation-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{zu}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 351 of file example_05.hpp.

References ROL::Vector< Real >::zero().

◆ applyAdjointHessian_22() [5/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_22 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual optimization-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{zz}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 355 of file example_05.hpp.

References ROL::Vector< Real >::zero().

◆ value() [6/9]

template<class Real>
void Constraint_BurgersControl< Real >::value ( ROL::Vector< Real > & c,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{c} = c(u,z)\), where \(\mathsf{c} \in \mathcal{C}\), \(\mathsf{u} \in \mathcal{U}\), and $ \(\mathsf{z} \in\mathcal{Z}\).


Implements ROL::Constraint_SimOpt< Real >.

Definition at line 874 of file example_06.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyJacobian_1() [6/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_1 ( ROL::Vector< Real > & jv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).

Parameters
[out]jvis the result of applying the constraint Jacobian to v at \((u,z)\); a constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; an simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{jv} = c_u(u,z)v\), where \(v \in \mathcal{U}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 890 of file example_06.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyJacobian_2() [6/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_2 ( ROL::Vector< Real > & jv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).

Parameters
[out]jvis the result of applying the constraint Jacobian to v at \((u,z)\); a constraint-space vector
[in]vis an optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{jv} = c_z(u,z)v\), where \(v \in \mathcal{Z}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 908 of file example_06.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyInverseJacobian_1() [6/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseJacobian_1 ( ROL::Vector< Real > & ijv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).

Parameters
[out]ijvis the result of applying the inverse constraint Jacobian to v at \((u,z)\); a simulation-space vector
[in]vis a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ijv} = c_u(u,z)^{-1}v\), where \(v \in \mathcal{C}\), \(\mathsf{ijv} \in \mathcal{U}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 926 of file example_06.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyAdjointJacobian_1() [6/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_1 ( ROL::Vector< Real > & ajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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.

Parameters
[out]ajvis the result of applying the adjoint of the constraint Jacobian to v at (u,z); a dual simulation-space vector
[in]vis a dual constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ajv} = c_u(u,z)^*v\), where \(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 944 of file example_06.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyAdjointJacobian_2() [6/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_2 ( ROL::Vector< Real > & ajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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.

Parameters
[out]ajvis the result of applying the adjoint of the constraint Jacobian to v at \((u,z)\); a dual optimization-space vector
[in]vis a dual constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ajv} = c_z(u,z)^*v\), where \(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 962 of file example_06.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyInverseAdjointJacobian_1() [6/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseAdjointJacobian_1 ( ROL::Vector< Real > & iajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]iajvis the result of applying the inverse adjoint of the constraint Jacobian to v at (u,z); a dual constraint-space vector
[in]vis a dual simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{iajv} = c_u(u,z)^{-*}v\), where \(v \in \mathcal{U}^*\), \(\mathsf{iajv} \in \mathcal{C}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 980 of file example_06.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyAdjointHessian_11() [6/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_11 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual simulation-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{uu}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 998 of file example_06.hpp.

References fem_, ROL::ROL::Constraint< Real >::getParameter(), useHessian_, and ROL::Vector< Real >::zero().

◆ applyAdjointHessian_12() [6/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_12 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual optimization-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{uz}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1023 of file example_06.hpp.

References fem_, ROL::ROL::Constraint< Real >::getParameter(), useHessian_, and ROL::Vector< Real >::zero().

◆ applyAdjointHessian_21() [6/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_21 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual simulation-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{zu}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1047 of file example_06.hpp.

References fem_, ROL::ROL::Constraint< Real >::getParameter(), useHessian_, and ROL::Vector< Real >::zero().

◆ applyAdjointHessian_22() [6/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_22 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual optimization-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{zz}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1071 of file example_06.hpp.

References fem_, ROL::ROL::Constraint< Real >::getParameter(), useHessian_, and ROL::Vector< Real >::zero().

◆ value() [7/9]

template<class Real>
void Constraint_BurgersControl< Real >::value ( ROL::Vector< Real > & c,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{c} = c(u,z)\), where \(\mathsf{c} \in \mathcal{C}\), \(\mathsf{u} \in \mathcal{U}\), and $ \(\mathsf{z} \in\mathcal{Z}\).


Implements ROL::Constraint_SimOpt< Real >.

Definition at line 880 of file example_07.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyJacobian_1() [7/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_1 ( ROL::Vector< Real > & jv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).

Parameters
[out]jvis the result of applying the constraint Jacobian to v at \((u,z)\); a constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; an simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{jv} = c_u(u,z)v\), where \(v \in \mathcal{U}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 896 of file example_07.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyJacobian_2() [7/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_2 ( ROL::Vector< Real > & jv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).

Parameters
[out]jvis the result of applying the constraint Jacobian to v at \((u,z)\); a constraint-space vector
[in]vis an optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{jv} = c_z(u,z)v\), where \(v \in \mathcal{Z}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 914 of file example_07.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyInverseJacobian_1() [7/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseJacobian_1 ( ROL::Vector< Real > & ijv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).

Parameters
[out]ijvis the result of applying the inverse constraint Jacobian to v at \((u,z)\); a simulation-space vector
[in]vis a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ijv} = c_u(u,z)^{-1}v\), where \(v \in \mathcal{C}\), \(\mathsf{ijv} \in \mathcal{U}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 932 of file example_07.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyAdjointJacobian_1() [7/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_1 ( ROL::Vector< Real > & ajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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.

Parameters
[out]ajvis the result of applying the adjoint of the constraint Jacobian to v at (u,z); a dual simulation-space vector
[in]vis a dual constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ajv} = c_u(u,z)^*v\), where \(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 950 of file example_07.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyAdjointJacobian_2() [7/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_2 ( ROL::Vector< Real > & ajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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.

Parameters
[out]ajvis the result of applying the adjoint of the constraint Jacobian to v at \((u,z)\); a dual optimization-space vector
[in]vis a dual constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ajv} = c_z(u,z)^*v\), where \(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 968 of file example_07.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyInverseAdjointJacobian_1() [7/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseAdjointJacobian_1 ( ROL::Vector< Real > & iajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]iajvis the result of applying the inverse adjoint of the constraint Jacobian to v at (u,z); a dual constraint-space vector
[in]vis a dual simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{iajv} = c_u(u,z)^{-*}v\), where \(v \in \mathcal{U}^*\), \(\mathsf{iajv} \in \mathcal{C}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 986 of file example_07.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyAdjointHessian_11() [7/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_11 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual simulation-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{uu}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1004 of file example_07.hpp.

References fem_, ROL::ROL::Constraint< Real >::getParameter(), useHessian_, and ROL::Vector< Real >::zero().

◆ applyAdjointHessian_12() [7/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_12 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual optimization-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{uz}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1029 of file example_07.hpp.

References fem_, ROL::ROL::Constraint< Real >::getParameter(), useHessian_, and ROL::Vector< Real >::zero().

◆ applyAdjointHessian_21() [7/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_21 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual simulation-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{zu}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1053 of file example_07.hpp.

References fem_, ROL::ROL::Constraint< Real >::getParameter(), useHessian_, and ROL::Vector< Real >::zero().

◆ applyAdjointHessian_22() [7/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_22 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual optimization-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{zz}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1077 of file example_07.hpp.

References fem_, ROL::ROL::Constraint< Real >::getParameter(), useHessian_, and ROL::Vector< Real >::zero().

◆ value() [8/9]

template<class Real>
void Constraint_BurgersControl< Real >::value ( ROL::Vector< Real > & c,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{c} = c(u,z)\), where \(\mathsf{c} \in \mathcal{C}\), \(\mathsf{u} \in \mathcal{U}\), and $ \(\mathsf{z} \in\mathcal{Z}\).


Implements ROL::Constraint_SimOpt< Real >.

Definition at line 678 of file example_08.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyJacobian_1() [8/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_1 ( ROL::Vector< Real > & jv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).

Parameters
[out]jvis the result of applying the constraint Jacobian to v at \((u,z)\); a constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; an simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{jv} = c_u(u,z)v\), where \(v \in \mathcal{U}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 694 of file example_08.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyJacobian_2() [8/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_2 ( ROL::Vector< Real > & jv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).

Parameters
[out]jvis the result of applying the constraint Jacobian to v at \((u,z)\); a constraint-space vector
[in]vis an optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{jv} = c_z(u,z)v\), where \(v \in \mathcal{Z}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 712 of file example_08.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyInverseJacobian_1() [8/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseJacobian_1 ( ROL::Vector< Real > & ijv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).

Parameters
[out]ijvis the result of applying the inverse constraint Jacobian to v at \((u,z)\); a simulation-space vector
[in]vis a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ijv} = c_u(u,z)^{-1}v\), where \(v \in \mathcal{C}\), \(\mathsf{ijv} \in \mathcal{U}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 730 of file example_08.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyAdjointJacobian_1() [8/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_1 ( ROL::Vector< Real > & ajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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.

Parameters
[out]ajvis the result of applying the adjoint of the constraint Jacobian to v at (u,z); a dual simulation-space vector
[in]vis a dual constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ajv} = c_u(u,z)^*v\), where \(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 748 of file example_08.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyAdjointJacobian_2() [8/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_2 ( ROL::Vector< Real > & ajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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.

Parameters
[out]ajvis the result of applying the adjoint of the constraint Jacobian to v at \((u,z)\); a dual optimization-space vector
[in]vis a dual constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ajv} = c_z(u,z)^*v\), where \(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 766 of file example_08.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyInverseAdjointJacobian_1() [8/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseAdjointJacobian_1 ( ROL::Vector< Real > & iajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]iajvis the result of applying the inverse adjoint of the constraint Jacobian to v at (u,z); a dual constraint-space vector
[in]vis a dual simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{iajv} = c_u(u,z)^{-*}v\), where \(v \in \mathcal{U}^*\), \(\mathsf{iajv} \in \mathcal{C}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 784 of file example_08.hpp.

References fem_, and ROL::ROL::Constraint< Real >::getParameter().

◆ applyAdjointHessian_11() [8/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_11 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual simulation-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{uu}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 802 of file example_08.hpp.

References fem_, ROL::ROL::Constraint< Real >::getParameter(), useHessian_, and ROL::Vector< Real >::zero().

◆ applyAdjointHessian_12() [8/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_12 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual optimization-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{uz}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 827 of file example_08.hpp.

References fem_, ROL::ROL::Constraint< Real >::getParameter(), useHessian_, and ROL::Vector< Real >::zero().

◆ applyAdjointHessian_21() [8/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_21 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual simulation-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{zu}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 851 of file example_08.hpp.

References fem_, ROL::ROL::Constraint< Real >::getParameter(), useHessian_, and ROL::Vector< Real >::zero().

◆ applyAdjointHessian_22() [8/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_22 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual optimization-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{zz}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 875 of file example_08.hpp.

References fem_, ROL::ROL::Constraint< Real >::getParameter(), useHessian_, and ROL::Vector< Real >::zero().

◆ compute_norm() [4/4]

template<class Real>
Real Constraint_BurgersControl< Real >::compute_norm ( const std::vector< Real > & r)
inlineprivate

Definition at line 39 of file example_10.hpp.

References dot().

◆ dot() [4/4]

template<class Real>
Real Constraint_BurgersControl< Real >::dot ( const std::vector< Real > & x,
const std::vector< Real > & y )
inlineprivate

Definition at line 43 of file example_10.hpp.

References dx_, and nx_.

◆ update() [4/4]

template<class Real>
void Constraint_BurgersControl< Real >::update ( std::vector< Real > & u,
const std::vector< Real > & s,
const Real alpha = 1.0 )
inlineprivate

Definition at line 62 of file example_10.hpp.

◆ scale() [4/4]

template<class Real>
void Constraint_BurgersControl< Real >::scale ( std::vector< Real > & u,
const Real alpha = 0.0 )
inlineprivate

Definition at line 68 of file example_10.hpp.

◆ compute_residual() [4/4]

template<class Real>
void Constraint_BurgersControl< Real >::compute_residual ( std::vector< Real > & r,
const std::vector< Real > & u,
const std::vector< Real > & z )
inlineprivate

Definition at line 74 of file example_10.hpp.

References dx_, ROL::ROL::Constraint< Real >::getParameter(), and nx_.

◆ compute_pde_jacobian() [4/4]

template<class Real>
void Constraint_BurgersControl< Real >::compute_pde_jacobian ( std::vector< Real > & dl,
std::vector< Real > & d,
std::vector< Real > & du,
const std::vector< Real > & u )
inlineprivate

Definition at line 111 of file example_10.hpp.

References dx_, ROL::ROL::Constraint< Real >::getParameter(), and nx_.

◆ linear_solve() [4/4]

template<class Real>
void Constraint_BurgersControl< Real >::linear_solve ( std::vector< Real > & u,
std::vector< Real > & dl,
std::vector< Real > & d,
std::vector< Real > & du,
const std::vector< Real > & r,
const bool transpose = false )
inlineprivate

Definition at line 138 of file example_10.hpp.

References nx_.

◆ value() [9/9]

template<class Real>
void Constraint_BurgersControl< Real >::value ( ROL::Vector< Real > & c,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{c} = c(u,z)\), where \(\mathsf{c} \in \mathcal{C}\), \(\mathsf{u} \in \mathcal{U}\), and $ \(\mathsf{z} \in\mathcal{Z}\).


Implements ROL::Constraint_SimOpt< Real >.

Definition at line 160 of file example_10.hpp.

References compute_residual().

◆ solve() [3/3]

template<class Real>
void Constraint_BurgersControl< Real >::solve ( ROL::Vector< Real > & c,
ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Given \(z\), solve \(c(u,z)=0\) for \(u\).

  @param[out]      c   is the result of evaluating the constraint operator at @b \f$(u,z)\f$; a constraint-space vector
  @param[in,out]   u   is the solution vector; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  The defualt implementation is Newton's method globalized with a backtracking line search.

  ---

Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 171 of file example_10.hpp.

References ROL::Constraint_SimOpt< Real >::solve().

◆ applyJacobian_1() [9/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_1 ( ROL::Vector< Real > & jv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).

Parameters
[out]jvis the result of applying the constraint Jacobian to v at \((u,z)\); a constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; an simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{jv} = c_u(u,z)v\), where \(v \in \mathcal{U}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 178 of file example_10.hpp.

References dx_, ROL::ROL::Constraint< Real >::getParameter(), and nx_.

◆ applyJacobian_2() [9/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_2 ( ROL::Vector< Real > & jv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).

Parameters
[out]jvis the result of applying the constraint Jacobian to v at \((u,z)\); a constraint-space vector
[in]vis an optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{jv} = c_z(u,z)v\), where \(v \in \mathcal{Z}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 211 of file example_10.hpp.

References dx_, and nx_.

◆ applyInverseJacobian_1() [9/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseJacobian_1 ( ROL::Vector< Real > & ijv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).

Parameters
[out]ijvis the result of applying the inverse constraint Jacobian to v at \((u,z)\); a simulation-space vector
[in]vis a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ijv} = c_u(u,z)^{-1}v\), where \(v \in \mathcal{C}\), \(\mathsf{ijv} \in \mathcal{U}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 227 of file example_10.hpp.

References compute_pde_jacobian(), linear_solve(), and nx_.

◆ applyAdjointJacobian_1() [9/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_1 ( ROL::Vector< Real > & ajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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.

Parameters
[out]ajvis the result of applying the adjoint of the constraint Jacobian to v at (u,z); a dual simulation-space vector
[in]vis a dual constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ajv} = c_u(u,z)^*v\), where \(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 246 of file example_10.hpp.

References dx_, ROL::ROL::Constraint< Real >::getParameter(), and nx_.

◆ applyAdjointJacobian_2() [9/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_2 ( ROL::Vector< Real > & ajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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.

Parameters
[out]ajvis the result of applying the adjoint of the constraint Jacobian to v at \((u,z)\); a dual optimization-space vector
[in]vis a dual constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ajv} = c_z(u,z)^*v\), where \(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 279 of file example_10.hpp.

References dx_, and nx_.

◆ applyInverseAdjointJacobian_1() [9/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseAdjointJacobian_1 ( ROL::Vector< Real > & iajv,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]iajvis the result of applying the inverse adjoint of the constraint Jacobian to v at (u,z); a dual constraint-space vector
[in]vis a dual simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{iajv} = c_u(u,z)^{-*}v\), where \(v \in \mathcal{U}^*\), \(\mathsf{iajv} \in \mathcal{C}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 308 of file example_10.hpp.

References compute_pde_jacobian(), linear_solve(), and nx_.

◆ applyAdjointHessian_11() [9/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_11 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual simulation-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{uu}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 325 of file example_10.hpp.

References nx_.

◆ applyAdjointHessian_12() [9/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_12 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual optimization-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a simulation-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{uz}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 349 of file example_10.hpp.

References ROL::Vector< Real >::zero().

◆ applyAdjointHessian_21() [9/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_21 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual simulation-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{zu}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 353 of file example_10.hpp.

References ROL::Vector< Real >::zero().

◆ applyAdjointHessian_22() [9/9]

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_22 ( ROL::Vector< Real > & ahwv,
const ROL::Vector< Real > & w,
const ROL::Vector< Real > & v,
const ROL::Vector< Real > & u,
const ROL::Vector< Real > & z,
Real & tol )
inlinevirtual

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\).

Parameters
[out]ahwvis the result of applying the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in direction \(w\); a dual optimization-space vector
[in]wis the direction vector; a dual constraint-space vector
[in]vis a optimization-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{ahwv} = c_{zz}(u,z)(v,\cdot)^*w\), where \(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 357 of file example_10.hpp.

References ROL::Vector< Real >::zero().

Member Data Documentation

◆ fem_

◆ useHessian_

◆ nx_ [1/2]

◆ dx_

◆ nu_

◆ u0_

◆ u1_

◆ f_

template<class Real>
Real Constraint_BurgersControl< Real >::f_
private

◆ nx_ [2/2]

template<class Real>
unsigned Constraint_BurgersControl< Real >::nx_
private

Definition at line 38 of file example_03.hpp.

◆ nt_

◆ T_

template<class Real>
Real Constraint_BurgersControl< Real >::T_
private

Definition at line 42 of file example_03.hpp.

Referenced by Constraint_BurgersControl().

◆ dt_

◆ u_init_

template<class Real>
std::vector<Real> Constraint_BurgersControl< Real >::u_init_
private

Definition at line 49 of file example_03.hpp.

Referenced by Constraint_BurgersControl(), solve(), and value().


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