46#ifndef ROL_DYNAMICFUNCTION_HPP
47#define ROL_DYNAMICFUNCTION_HPP
49#include <initializer_list>
67template<
typename Real>
116 const V&
getNew(
const V& x )
const;
119 const V&
getOld(
const V& x )
const;
126 template<
typename First>
132 template<
typename First,
typename...Rest>
133 void add_terms(
const First& first,
const Rest&... rest ) {
PartitionedVector< Real > PV
Provides update interface, casting and vector management to DynamicConstraint and DynamicObjective.
VectorWorkspace< Real > & getVectorWorkspace() const
virtual void update_uo(const V &x, const TS &ts)
virtual ~DynamicFunction()
void add_terms(const First &first)
bool is_zero_derivative(const std::string &key)
VectorWorkspace< Real > workspace_
PV & partition(V &x) const
void add_terms(const First &first, const Rest &... rest)
std::vector< std::string > zero_deriv_terms_
virtual void update_z(const V &x, const TS &ts)
DynamicFunction(std::initializer_list< std::string > zero_deriv_terms={})
virtual void update_un(const V &x, const TS &ts)
Defines the linear algebra of vector space on a generic partitioned vector.
Defines the linear algebra or vector space interface.
Contains local time step information.