45#ifndef ROL_DYNAMICOBJECTIVE_HPP
46#define ROL_DYNAMICOBJECTIVE_HPP
71template<
typename Real>
84 virtual void update(
const V& uo,
const V& un,
const V& z,
const TS& timeStamp ) {
94 virtual Real
value(
const V& uo,
const V& un,
95 const V& z,
const TS& timeStamp )
const = 0;
100 const V& z,
const TS& timeStamp )
const {}
103 const V& z,
const TS& timeStamp )
const {}
106 const V& z,
const TS& timeStamp )
const {}
111 const V& z,
const TS& timeStamp )
const {}
114 const V& z,
const TS& timeStamp )
const {}
117 const V& z,
const TS& timeStamp )
const {}
121 const V& z,
const TS& timeStamp )
const {}
124 const V& z,
const TS& timeStamp )
const {}
127 const V& z,
const TS& timeStamp )
const {}
131 const V& z,
const TS& timeStamp )
const {}
134 const V& z,
const TS& timeStamp )
const {}
137 const V& z,
const TS& timeStamp )
const {}
Provides update interface, casting and vector management to DynamicConstraint and DynamicObjective.
virtual void update_uo(const V &x, const TS &ts)
virtual void update_z(const V &x, const TS &ts)
virtual void update_un(const V &x, const TS &ts)
Defines the time-dependent objective function interface for simulation-based optimization....
virtual void hessVec_un_z(V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const
virtual void hessVec_z_uo(V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const
virtual void hessVec_un_uo(V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const
virtual void gradient_un(V &g, const V &uo, const V &un, const V &z, const TS &timeStamp) const
virtual void hessVec_z_z(V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const
virtual void hessVec_uo_uo(V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const
virtual Real value(const V &uo, const V &un, const V &z, const TS &timeStamp) const =0
virtual void gradient_z(V &g, const V &uo, const V &un, const V &z, const TS &timeStamp) const
virtual void hessVec_uo_un(V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const
virtual void hessVec_un_un(V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const
DynamicObjective(std::initializer_list< std::string > zero_deriv_terms={})
virtual void update(const V &uo, const V &un, const V &z, const TS &timeStamp)
virtual void gradient_uo(V &g, const V &uo, const V &un, const V &z, const TS &timeStamp) const
virtual void hessVec_z_un(V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const
virtual void hessVec_uo_z(V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const
virtual ~DynamicObjective()
Defines the linear algebra or vector space interface.
Contains local time step information.