44#ifndef ROL_CONSTRAINT_STATE_H
45#define ROL_CONSTRAINT_STATE_H
51template<
typename Real>
52class SimConstraint :
public Constraint<Real> {
54 const Ptr<Constraint_SimOpt<Real>>
con_;
55 const Ptr<const Vector<Real>>
z_;
62 const Ptr<
const Vector<Real>> &z,
63 bool inSolve =
false);
65 void update(
const Vector<Real> &u,
bool flag =
true,
int iter = -1 )
override;
66 void update(
const Vector<Real> &u, UpdateType
type,
int iter = -1 )
override;
67 void value(Vector<Real> &c,
const Vector<Real> &u,Real &tol)
override;
68 void applyJacobian(Vector<Real> &jv,
const Vector<Real> &v,
const Vector<Real> &u,Real &tol)
override;
69 using Constraint<Real>::applyAdjointJacobian;
70 void applyAdjointJacobian(Vector<Real> &ajv,
const Vector<Real> &v,
const Vector<Real> &u,Real &tol)
override;
71 void applyAdjointHessian(Vector<Real> &ahwv,
const Vector<Real> &w,
const Vector<Real> &v,
const Vector<Real> &u,Real &tol)
override;
72 void applyPreconditioner(Vector<Real> &pv,
const Vector<Real> &v,
const Vector<Real> &u,
const Vector<Real> &g,Real &tol)
override;
75 void setParameter(
const std::vector<Real> ¶m)
override;
const Ptr< const Vector< Real > > z_
const Ptr< Constraint_SimOpt< Real > > con_
Ptr< Vector< Real > > ijv_
Defines the constraint operator interface for simulation-based optimization.
void applyJacobian(ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &sol)