44 #ifndef ROL_CONSTRAINT_DYNAMICSTATE_H 45 #define ROL_CONSTRAINT_DYNAMICSTATE_H 55 const Ptr<DynamicConstraint<Real>>
con_;
56 const Ptr<const Vector<Real>>
uo_;
57 const Ptr<const Vector<Real>>
z_;
58 const Ptr<const TimeStamp<Real>>
ts_;
68 : con_(con), uo_(uo), z_(z), ts_(ts), isInit_(false) {}
71 con_->value(c,*uo_,u,*z_,*ts_);
75 con_->applyJacobian_un(jv,v,*uo_,u,*z_,*ts_);
79 con_->applyAdjointJacobian_un(ajv,v,*uo_,u,*z_,*ts_);
83 con_->applyAdjointHessian_un_un(ahwv,w,v,*uo_,u,*z_,*ts_);
88 con_->update(*uo_,u,*z_,*ts_);
96 con_->applyInverseJacobian_un(*ijv_,v,*uo_,u,*z_,*ts_);
97 con_->applyInverseAdjointJacobian_un(pv,ijv_->
dual(),*
uo_,u,*
z_,*
ts_);
const Ptr< DynamicConstraint< Real > > con_
virtual ROL::Ptr< Vector > clone() const =0
Clone to make a new (uninitialized) vector.
void update(const Vector< Real > &u, bool flag=true, int iter=-1)
Update constraint functions. x is the optimization variable, flag = true if optimization variable is ...
Defines the time-dependent constraint operator interface for simulation-based optimization.
void value(Vector< Real > &c, const Vector< Real > &u, Real &tol)
Evaluate the constraint operator at .
void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &u, Real &tol)
Apply the constraint Jacobian at , , to vector .
Contains local time step information.
Defines the linear algebra or vector space interface.
const Ptr< const Vector< Real > > z_
virtual const Vector & dual() const
Return dual representation of , for example, the result of applying a Riesz map, or change of basis...
void applyAdjointHessian(Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, Real &tol)
Apply the derivative of the adjoint of the constraint Jacobian at to vector in direction ...
Constraint_DynamicState(const Ptr< DynamicConstraint< Real >> &con, const Ptr< const Vector< Real >> &uo, const Ptr< const Vector< Real >> &z, const Ptr< const TimeStamp< Real >> &ts)
const Ptr< const TimeStamp< Real > > ts_
void applyAdjointJacobian(Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &u, Real &tol)
Apply the adjoint of the the constraint Jacobian at , , to vector .
Ptr< Vector< Real > > ijv_
const Ptr< const Vector< Real > > uo_
void applyPreconditioner(Vector< Real > &pv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &g, Real &tol)
Apply a constraint preconditioner at , , to vector . Ideally, this preconditioner satisfies the follo...
Defines the general constraint operator interface.