11 #ifndef ROL_DYNAMICCONSTRAINT_CHECKINTERFACE_HPP
12 #define ROL_DYNAMICCONSTRAINT_CHECKINTERFACE_HPP
14 #include "ROL_FunctionBindings.hpp"
20 template<
typename Real>
36 ts_.
t.at(1) = 0.02345;
59 ph::_1, ph::_2, std::cref(un), std::cref(z),
ts_ );
64 ph::_1, std::cref(uo), ph::_2, std::cref(z),
ts_ );
67 f_vector_t<Real>
value_z(
const V& uo,
const V& un ) {
69 ph::_1, std::cref(uo), std::cref(un), ph::_2,
ts_ );
74 ph::_1, std::cref(uo), ph::_2, std::cref(z),
ts_ );
81 std::cref(un), std::cref(z),
ts_ );
86 ph::_3, std::cref(z),
ts_ );
91 ph::_3, std::cref(z),
ts_ );
96 std::cref(un), ph::_3,
ts_ );
103 std::cref(un), std::cref(z),
ts_ );
108 ph::_3, std::cref(z),
ts_ );
113 ph::_3, std::cref(z),
ts_ );
118 std::cref(un), ph::_3,
ts_ );
125 std::cref(un), std::cref(z),
ts_ );
130 ph::_3, std::cref(z),
ts_ );
135 std::cref(un), ph::_3,
ts_ );
140 std::cref(un), std::cref(z),
ts_ );
145 ph::_3, std::cref(z),
ts_ );
150 std::cref(un), ph::_3,
ts_ );
155 std::cref(un), std::cref(z),
ts_ );
160 ph::_3, std::cref(z),
ts_ );
165 std::cref(un), ph::_3,
ts_ );
172 std::cref(uo), ph::_3, std::cref(z),
ts_ );
177 std::cref(uo), ph::_3, std::cref(z),
ts_ );
182 std::cref(uo), ph::_3, std::cref(z),
ts_ );
189 ph::_3, std::cref(un), std::cref(z),
ts_ );
194 ph::_3, std::cref(un), std::cref(z),
ts_ );
199 ph::_3, std::cref(un), std::cref(z),
ts_ );
206 std::cref(uo), std::cref(un), ph::_3,
ts_ );
211 std::cref(uo), std::cref(un), ph::_3,
ts_ );
216 std::cref(uo), std::cref(un), ph::_3,
ts_ );
223 using details::DynamicConstraint_CheckInterface;
225 template<
typename Real>
227 return DynamicConstraint_CheckInterface<Real>(con);
230 template<
typename Real>
233 return DynamicConstraint_CheckInterface<Real>(con,timeStamp);
239 #endif // ROL_DYNAMICCONSTRAINT_CHECKINTERFACE_HPP
DynamicConstraint_CheckInterface(Con &con)
f_dderiv_t< Real > adjointJacobian_un_z(const V &uo, const V &un)
virtual void applyAdjointHessian_un_z(V &ahwv, const V &w, const V &vn, const V &uo, const V &un, const V &z, const TS &ts) const
virtual void solve(V &c, const V &uo, V &un, const V &z, const TS &ts)
f_dderiv_t< Real > adjointJacobian_un(const V &uo, const V &z)
Defines the time-dependent constraint operator interface for simulation-based optimization.
f_dderiv_t< Real > adjointJacobian_uo(const V &un, const V &z)
virtual void applyAdjointHessian_uo_un(V &ahwv, const V &w, const V &vo, const V &uo, const V &un, const V &z, const TS &ts) const
virtual void applyAdjointHessian_z_z(V &ahwv, const V &w, const V &vz, const V &uo, const V &un, const V &z, const TS &ts) const
f_dderiv_t< Real > adjointHessian_uo_z(const V &un, const V &z, const V &l)
f_dderiv_t< Real > adjointJacobian_z_un(const V &uo, const V &z)
f_dderiv_t< Real > adjointHessian_un_uo(const V &uo, const V &z, const V &l)
f_solve_t< Real > solve_un(const V &uo, const V &z)
f_dderiv_t< Real > adjointHessian_un_un(const V &uo, const V &z, const V &l)
virtual void applyAdjointHessian_z_un(V &ahwv, const V &w, const V &vz, const V &uo, const V &un, const V &z, const TS &ts) const
virtual void applyAdjointJacobian_un(V &ajv, const V &dualv, const V &uo, const V &un, const V &z, const TS &ts) const
virtual void applyJacobian_uo(V &jv, const V &vo, const V &uo, const V &un, const V &z, const TS &ts) const
virtual void update(const V &uo, const V &un, const V &z, const TS &ts)
f_update_t< Real > update_un(const V &uo, const V &z)
virtual void applyInverseAdjointJacobian_un(V &iajv, const V &vn, const V &uo, const V &un, const V &z, const TS &ts) const
Defines the linear algebra or vector space interface.
f_dderiv_t< Real > inverseAdjointJacobian_un(const V &uo, const V &z)
f_dderiv_t< Real > jacobian_z(const V &uo, const V &un)
f_vector_t< Real > value_uo(const V &un, const V &z)
f_dderiv_t< Real > adjointJacobian_un_uo(const V &un, const V &z)
f_vector_t< Real > value_un(const V &uo, const V &z)
virtual void applyAdjointJacobian_z(V &ajv, const V &dualv, const V &uo, const V &un, const V &z, const TS &ts) const
f_dderiv_t< Real > adjointJacobian_uo_z(const V &uo, const V &un)
virtual void applyInverseJacobian_un(V &ijv, const V &vn, const V &uo, const V &un, const V &z, const TS &ts) const
virtual void value(V &c, const V &uo, const V &un, const V &z, const TS &ts) const =0
virtual void applyAdjointJacobian_uo(V &ajv, const V &dualv, const V &uo, const V &un, const V &z, const TS &ts) const
f_dderiv_t< Real > jacobian_uo(const V &un, const V &z)
f_dderiv_t< Real > adjointHessian_z_z(const V &uo, const V &un, const V &l)
virtual void applyJacobian_un(V &jv, const V &vn, const V &uo, const V &un, const V &z, const TS &ts) const
f_vector_t< Real > value_z(const V &uo, const V &un)
f_dderiv_t< Real > inverseJacobian_un(const V &uo, const V &z)
virtual void applyJacobian_z(V &jv, const V &vz, const V &uo, const V &un, const V &z, const TS &ts) const
f_dderiv_t< Real > adjointJacobian_z(const V &uo, const V &un)
virtual void applyAdjointHessian_un_uo(V &ahwv, const V &w, const V &vn, const V &uo, const V &un, const V &z, const TS &ts) const
f_dderiv_t< Real > adjointHessian_uo_uo(const V &un, const V &z, const V &l)
f_dderiv_t< Real > adjointJacobian_uo_un(const V &uo, const V &z)
f_dderiv_t< Real > adjointHessian_un_z(const V &uo, const V &z, const V &l)
virtual void applyAdjointHessian_z_uo(V &ahwv, const V &w, const V &vz, const V &uo, const V &un, const V &z, const TS &ts) const
DynamicConstraint_CheckInterface(Con &con, TimeStamp< Real > &ts)
f_dderiv_t< Real > adjointJacobian_uo_uo(const V &un, const V &z)
virtual void applyAdjointHessian_uo_uo(V &ahwv, const V &w, const V &v, const V &uo, const V &un, const V &z, const TS &ts) const
virtual void applyAdjointHessian_un_un(V &ahwv, const V &wn, const V &vn, const V &uo, const V &un, const V &z, const TS &ts) const
virtual void applyAdjointHessian_uo_z(V &ahwv, const V &w, const V &vo, const V &uo, const V &un, const V &z, const TS &ts) const
f_update_t< Real > update_z(const V &uo, const V &un)
f_dderiv_t< Real > adjointHessian_uo_un(const V &un, const V &z, const V &l)
f_dderiv_t< Real > adjointHessian_z_uo(const V &uo, const V &un, const V &l)
f_dderiv_t< Real > adjointJacobian_z_uo(const V &un, const V &z)
f_dderiv_t< Real > adjointJacobian_z_z(const V &uo, const V &un)
f_dderiv_t< Real > jacobian_un(const V &uo, const V &z)
f_dderiv_t< Real > adjointJacobian_un_un(const V &uo, const V &z)
f_update_t< Real > update_uo(const V &un, const V &z)
f_dderiv_t< Real > adjointHessian_z_un(const V &uo, const V &un, const V &l)
DynamicConstraint_CheckInterface< Real > make_check(DynamicConstraint< Real > &con)