ROL
|
Provides update interface, casting and vector management to DynamicConstraint and DynamicObjective. More...
#include <ROL_DynamicFunction.hpp>
Public Types | |
using | V = Vector< Real > |
using | PV = PartitionedVector< Real > |
using | TS = TimeStamp< Real > |
Public Member Functions | |
DynamicFunction (std::initializer_list< std::string > zero_deriv_terms={}) | |
virtual | ~DynamicFunction () |
virtual void | update_uo (const V &x, const TS &ts) |
virtual void | update_un (const V &x, const TS &ts) |
virtual void | update_z (const V &x, const TS &ts) |
bool | is_zero_derivative (const std::string &key) |
Protected Member Functions | |
VectorWorkspace< Real > & | getVectorWorkspace () const |
PV & | partition (V &x) const |
const PV & | partition (const V &x) const |
V & | getNew (V &x) const |
const V & | getNew (const V &x) const |
V & | getOld (V &x) const |
const V & | getOld (const V &x) const |
Private Member Functions | |
template<typename First > | |
void | add_terms (const First &first) |
template<typename First , typename... Rest> | |
void | add_terms (const First &first, const Rest &...rest) |
Private Attributes | |
VectorWorkspace< Real > | workspace_ |
std::vector< std::string > | zero_deriv_terms_ |
Provides update interface, casting and vector management to DynamicConstraint and DynamicObjective.
Allowed strings to indicate terms with zero derivatives: {"uo","un","z","uo_uo","uo_un","uo_z","un_uo","un_un","un_z","z_uo","z_un", "z_z"} Note that is "X_Y" is specified, "Y_X" will be added automatically.
Definition at line 33 of file ROL_DynamicFunction.hpp.
using ROL::DynamicFunction< Real >::V = Vector<Real> |
Definition at line 36 of file ROL_DynamicFunction.hpp.
using ROL::DynamicFunction< Real >::PV = PartitionedVector<Real> |
Definition at line 37 of file ROL_DynamicFunction.hpp.
using ROL::DynamicFunction< Real >::TS = TimeStamp<Real> |
Definition at line 38 of file ROL_DynamicFunction.hpp.
|
inline |
Definition at line 40 of file ROL_DynamicFunction.hpp.
|
inlinevirtual |
Definition at line 55 of file ROL_DynamicFunction.hpp.
|
inlinevirtual |
Definition at line 58 of file ROL_DynamicFunction.hpp.
Referenced by ROL::DynamicObjective< Real >::update(), and ROL::DynamicConstraint< Real >::update().
|
inlinevirtual |
Definition at line 61 of file ROL_DynamicFunction.hpp.
Referenced by ROL::DynamicObjective< Real >::update(), and ROL::DynamicConstraint< Real >::update().
|
inlinevirtual |
Definition at line 64 of file ROL_DynamicFunction.hpp.
Referenced by ROL::DynamicObjective< Real >::update(), and ROL::DynamicConstraint< Real >::update().
|
inline |
Definition at line 66 of file ROL_DynamicFunction.hpp.
References ROL::DynamicFunction< Real >::zero_deriv_terms_.
Referenced by ROL::DynamicFunction< Real >::add_terms().
|
protected |
Definition at line 19 of file ROL_DynamicFunctionDef.hpp.
References workspace_.
|
protected |
Definition at line 23 of file ROL_DynamicFunctionDef.hpp.
|
protected |
Definition at line 29 of file ROL_DynamicFunctionDef.hpp.
|
protected |
Definition at line 35 of file ROL_DynamicFunctionDef.hpp.
References ROL::partition().
|
protected |
Definition at line 41 of file ROL_DynamicFunctionDef.hpp.
References ROL::partition().
|
protected |
Definition at line 47 of file ROL_DynamicFunctionDef.hpp.
References ROL::partition().
|
protected |
Definition at line 53 of file ROL_DynamicFunctionDef.hpp.
References ROL::partition().
|
inlineprivate |
Definition at line 92 of file ROL_DynamicFunction.hpp.
References ROL::DynamicFunction< Real >::is_zero_derivative(), and ROL::DynamicFunction< Real >::zero_deriv_terms_.
Referenced by ROL::DynamicFunction< Real >::add_terms().
|
inlineprivate |
Definition at line 98 of file ROL_DynamicFunction.hpp.
References ROL::DynamicFunction< Real >::add_terms(), ROL::DynamicFunction< Real >::is_zero_derivative(), and ROL::DynamicFunction< Real >::zero_deriv_terms_.
|
mutableprivate |
Definition at line 88 of file ROL_DynamicFunction.hpp.
|
private |
Definition at line 89 of file ROL_DynamicFunction.hpp.
Referenced by ROL::DynamicFunction< Real >::add_terms(), and ROL::DynamicFunction< Real >::is_zero_derivative().