ROL
|
Defines the time-local contribution to a quadratic tracking objective. More...
#include <ROL_DynamicTrackingFEMObjective.hpp>
Public Types | |
using | V = Vector< Real > |
using | TS = TimeStamp< Real > |
using | size_type = typename PartitionedVector< Real >::size_type |
Public Types inherited from ROL::DynamicObjective< Real > | |
using | V = Vector< Real > |
using | TS = TimeStamp< Real > |
Public Types inherited from ROL::DynamicFunction< Real > | |
using | V = Vector< Real > |
using | PV = PartitionedVector< Real > |
using | TS = TimeStamp< Real > |
Public Member Functions | |
DynamicTrackingFEMObjective (const Ptr< PartitionedVector< Real >> &target, Real alpha=0.0) | |
virtual | ~DynamicTrackingFEMObjective () |
virtual Real | value (const V &uo, const V &un, const V &z, const TS &timeStamp) const override |
virtual void | gradient_uo (V &g, const V &uo, const V &un, const V &z, const TS &timeStamp) const override |
virtual void | gradient_un (V &g, const V &uo, const V &un, const V &z, const TS &timeStamp) const override |
virtual void | gradient_z (V &g, const V &uo, const V &un, const V &z, const TS &timeStamp) const override |
virtual void | hessVec_uo_uo (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const override |
virtual void | hessVec_uo_un (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const override |
virtual void | hessVec_uo_z (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const override |
virtual void | hessVec_un_uo (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const override |
virtual void | hessVec_un_un (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const override |
virtual void | hessVec_un_z (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const override |
virtual void | hessVec_z_uo (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const override |
virtual void | hessVec_z_un (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const override |
virtual void | hessVec_z_z (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const override |
Public Member Functions inherited from ROL::DynamicObjective< Real > | |
DynamicObjective (std::initializer_list< std::string > zero_deriv_terms={}) | |
virtual | ~DynamicObjective () |
virtual void | update (const V &uo, const V &un, const V &z, const TS &timeStamp) |
Public Member Functions inherited from ROL::DynamicFunction< Real > | |
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) |
Private Attributes | |
Ptr< PartitionedVector< Real > > | target_ |
size_type | Nt_ |
Real | alpha_ |
VectorWorkspace< Real > | workspace_ |
Additional Inherited Members | |
Protected Member Functions inherited from ROL::DynamicFunction< Real > | |
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 |
Defines the time-local contribution to a quadratic tracking objective.
\[ f_k(u,z) = \frac{1}{2} \int\limits_{t_{k-1}}^{t_k} \| u(t)-\tilde u(t)\|^2 + \alpha \|z(t)\^2\,\mathm{d}t \]
Currently approximates the state disparity norm using linear finite elements which couples the old and new state contributions
Definition at line 34 of file ROL_DynamicTrackingFEMObjective.hpp.
using ROL::DynamicTrackingFEMObjective< Real >::V = Vector<Real> |
Definition at line 37 of file ROL_DynamicTrackingFEMObjective.hpp.
using ROL::DynamicTrackingFEMObjective< Real >::TS = TimeStamp<Real> |
Definition at line 38 of file ROL_DynamicTrackingFEMObjective.hpp.
using ROL::DynamicTrackingFEMObjective< Real >::size_type = typename PartitionedVector<Real>::size_type |
Definition at line 39 of file ROL_DynamicTrackingFEMObjective.hpp.
|
inline |
Definition at line 52 of file ROL_DynamicTrackingFEMObjective.hpp.
|
inlinevirtual |
Definition at line 55 of file ROL_DynamicTrackingFEMObjective.hpp.
|
inlineoverridevirtual |
Implements ROL::DynamicObjective< Real >.
Definition at line 57 of file ROL_DynamicTrackingFEMObjective.hpp.
References ROL::DynamicTrackingFEMObjective< Real >::alpha_, ROL::Vector< Real >::dot(), ROL::TimeStamp< typename >::k, ROL::TimeStamp< typename >::t, ROL::DynamicTrackingFEMObjective< Real >::target_, and ROL::DynamicTrackingFEMObjective< Real >::workspace_.
|
inlineoverridevirtual |
Reimplemented from ROL::DynamicObjective< Real >.
Definition at line 86 of file ROL_DynamicTrackingFEMObjective.hpp.
References ROL::TimeStamp< typename >::k, ROL::TimeStamp< typename >::t, ROL::DynamicTrackingFEMObjective< Real >::workspace_, and ROL::Vector< Real >::zero().
|
inlineoverridevirtual |
Reimplemented from ROL::DynamicObjective< Real >.
Definition at line 102 of file ROL_DynamicTrackingFEMObjective.hpp.
References ROL::Vector< Real >::axpy(), ROL::TimeStamp< typename >::k, ROL::Vector< Real >::scale(), ROL::Vector< Real >::set(), ROL::TimeStamp< typename >::t, and ROL::DynamicTrackingFEMObjective< Real >::target_.
|
inlineoverridevirtual |
Reimplemented from ROL::DynamicObjective< Real >.
Definition at line 110 of file ROL_DynamicTrackingFEMObjective.hpp.
References ROL::DynamicTrackingFEMObjective< Real >::alpha_, ROL::Vector< Real >::scale(), ROL::Vector< Real >::set(), and ROL::TimeStamp< typename >::t.
|
inlineoverridevirtual |
Reimplemented from ROL::DynamicObjective< Real >.
Definition at line 119 of file ROL_DynamicTrackingFEMObjective.hpp.
References ROL::Vector< Real >::axpy(), ROL::TimeStamp< typename >::k, ROL::Vector< Real >::scale(), ROL::Vector< Real >::set(), ROL::TimeStamp< typename >::t, ROL::DynamicTrackingFEMObjective< Real >::target_, and ROL::Vector< Real >::zero().
|
inlineoverridevirtual |
Reimplemented from ROL::DynamicObjective< Real >.
Definition at line 130 of file ROL_DynamicTrackingFEMObjective.hpp.
References ROL::Vector< Real >::zero().
|
inlineoverridevirtual |
Reimplemented from ROL::DynamicObjective< Real >.
Definition at line 135 of file ROL_DynamicTrackingFEMObjective.hpp.
References ROL::Vector< Real >::zero().
|
inlineoverridevirtual |
Reimplemented from ROL::DynamicObjective< Real >.
Definition at line 140 of file ROL_DynamicTrackingFEMObjective.hpp.
References ROL::Vector< Real >::zero().
|
inlineoverridevirtual |
Reimplemented from ROL::DynamicObjective< Real >.
Definition at line 145 of file ROL_DynamicTrackingFEMObjective.hpp.
References ROL::Vector< Real >::scale(), ROL::Vector< Real >::set(), and ROL::TimeStamp< typename >::t.
|
inlineoverridevirtual |
Reimplemented from ROL::DynamicObjective< Real >.
Definition at line 151 of file ROL_DynamicTrackingFEMObjective.hpp.
References ROL::Vector< Real >::zero().
|
inlineoverridevirtual |
Reimplemented from ROL::DynamicObjective< Real >.
Definition at line 156 of file ROL_DynamicTrackingFEMObjective.hpp.
References ROL::Vector< Real >::zero().
|
inlineoverridevirtual |
Reimplemented from ROL::DynamicObjective< Real >.
Definition at line 161 of file ROL_DynamicTrackingFEMObjective.hpp.
References ROL::Vector< Real >::zero().
|
inlineoverridevirtual |
Reimplemented from ROL::DynamicObjective< Real >.
Definition at line 166 of file ROL_DynamicTrackingFEMObjective.hpp.
References ROL::DynamicTrackingFEMObjective< Real >::alpha_, ROL::Vector< Real >::scale(), ROL::Vector< Real >::set(), and ROL::TimeStamp< typename >::t.
|
private |
Definition at line 43 of file ROL_DynamicTrackingFEMObjective.hpp.
Referenced by ROL::DynamicTrackingFEMObjective< Real >::gradient_un(), ROL::DynamicTrackingFEMObjective< Real >::hessVec_uo_uo(), and ROL::DynamicTrackingFEMObjective< Real >::value().
|
private |
Definition at line 45 of file ROL_DynamicTrackingFEMObjective.hpp.
|
private |
Definition at line 46 of file ROL_DynamicTrackingFEMObjective.hpp.
Referenced by ROL::DynamicTrackingFEMObjective< Real >::gradient_z(), ROL::DynamicTrackingFEMObjective< Real >::hessVec_z_z(), and ROL::DynamicTrackingFEMObjective< Real >::value().
|
mutableprivate |
Definition at line 48 of file ROL_DynamicTrackingFEMObjective.hpp.
Referenced by ROL::DynamicTrackingFEMObjective< Real >::gradient_uo(), and ROL::DynamicTrackingFEMObjective< Real >::value().