DOpE
Public Member Functions | Protected Member Functions
DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim > Class Template Reference

#include <functionalinterface.h>

Inheritance diagram for DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >:
DOpE::ConstraintInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim > DOpE::NoConstraints< EDC, FDC, DH, VECTOR, dopedim, dealdim >

Public Member Functions

 FunctionalInterface ()
 
virtual ~FunctionalInterface ()
 
virtual double ElementValue (const EDC< DH, VECTOR, dealdim > &edc)
 
virtual void ElementValue_U (const EDC< DH, VECTOR, dealdim > &edc, dealii::Vector< double > &local_vector, double scale)
 
virtual void ElementValue_Q (const EDC< DH, VECTOR, dealdim > &edc, dealii::Vector< double > &local_vector, double scale)
 
virtual void ElementValue_UU (const EDC< DH, VECTOR, dealdim > &edc, dealii::Vector< double > &local_vector, double scale)
 
virtual void ElementValue_QU (const EDC< DH, VECTOR, dealdim > &edc, dealii::Vector< double > &local_vector, double scale)
 
virtual void ElementValue_UQ (const EDC< DH, VECTOR, dealdim > &edc, dealii::Vector< double > &local_vector, double scale)
 
virtual void ElementValue_QQ (const EDC< DH, VECTOR, dealdim > &edc, dealii::Vector< double > &local_vector, double scale)
 
virtual double PointValue (const DOpEWrapper::DoFHandler< dopedim, DH > &control_dof_handler, const DOpEWrapper::DoFHandler< dealdim, DH > &state_dof_handler, const std::map< std::string, const dealii::Vector< double > * > &param_values, const std::map< std::string, const VECTOR * > &domain_values)
 
virtual void PointValue_U (const DOpEWrapper::DoFHandler< dopedim, DH > &control_dof_handler, const DOpEWrapper::DoFHandler< dealdim, DH > &state_dof_handler, const std::map< std::string, const dealii::Vector< double > * > &param_values, const std::map< std::string, const VECTOR * > &domain_values, VECTOR &rhs, double scale)
 
virtual void PointValue_Q (const DOpEWrapper::DoFHandler< dopedim, DH > &control_dof_handler, const DOpEWrapper::DoFHandler< dealdim, DH > &state_dof_handler, const std::map< std::string, const dealii::Vector< double > * > &param_values, const std::map< std::string, const VECTOR * > &domain_values, VECTOR &rhs, double scale)
 
virtual void PointValue_UU (const DOpEWrapper::DoFHandler< dopedim, DH > &control_dof_handler, const DOpEWrapper::DoFHandler< dealdim, DH > &state_dof_handler, const std::map< std::string, const dealii::Vector< double > * > &param_values, const std::map< std::string, const VECTOR * > &domain_values, VECTOR &rhs, double scale)
 
virtual void PointValue_QU (const DOpEWrapper::DoFHandler< dopedim, DH > &control_dof_handler, const DOpEWrapper::DoFHandler< dealdim, DH > &state_dof_handler, const std::map< std::string, const dealii::Vector< double > * > &param_values, const std::map< std::string, const VECTOR * > &domain_values, VECTOR &rhs, double scale)
 
virtual void PointValue_UQ (const DOpEWrapper::DoFHandler< dopedim, DH > &control_dof_handler, const DOpEWrapper::DoFHandler< dealdim, DH > &state_dof_handler, const std::map< std::string, const dealii::Vector< double > * > &param_values, const std::map< std::string, const VECTOR * > &domain_values, VECTOR &rhs, double scale)
 
virtual void PointValue_QQ (const DOpEWrapper::DoFHandler< dopedim, DH > &control_dof_handler, const DOpEWrapper::DoFHandler< dealdim, DH > &state_dof_handler, const std::map< std::string, const dealii::Vector< double > * > &param_values, const std::map< std::string, const VECTOR * > &domain_values, VECTOR &rhs, double scale)
 
virtual double BoundaryValue (const FDC< DH, VECTOR, dealdim > &fdc)
 
virtual void BoundaryValue_U (const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
 
virtual void BoundaryValue_Q (const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
 
virtual void BoundaryValue_UU (const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
 
virtual void BoundaryValue_QU (const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
 
virtual void BoundaryValue_UQ (const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
 
virtual void BoundaryValue_QQ (const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
 
virtual double FaceValue (const FDC< DH, VECTOR, dealdim > &fdc)
 
virtual void FaceValue_U (const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
 
virtual void FaceValue_Q (const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
 
virtual void FaceValue_UU (const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
 
virtual void FaceValue_QU (const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
 
virtual void FaceValue_UQ (const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
 
virtual void FaceValue_QQ (const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
 
virtual double AlgebraicValue (const std::map< std::string, const dealii::Vector< double > * > &param_values, const std::map< std::string, const VECTOR * > &domain_values)
 
virtual void AlgebraicGradient_Q (VECTOR &gradient, const std::map< std::string, const dealii::Vector< double > * > &param_values, const std::map< std::string, const VECTOR * > &domain_values)
 
virtual std::string GetType () const
 
virtual std::string GetName () const
 
virtual bool NeedTime () const
 
virtual void SetTime (double) const
 
virtual dealii::UpdateFlags GetUpdateFlags () const
 
virtual dealii::UpdateFlags GetFaceUpdateFlags () const
 
virtual bool HasFaces () const
 
virtual bool HasPoints () const
 
void SetProblemType (std::string type)
 

Protected Member Functions

std::string GetProblemType () const
 

Detailed Description

template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR, int dopedim, int dealdim = dopedim>
class DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >

A template for an arbitrary Functional J to be used as cost functional for an optimization problem. Or any Functional that should be evaluated. For evaluation only *Value routines are required, but none of the derivatives thereof.

Constructor & Destructor Documentation

template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::FunctionalInterface ( )
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::~FunctionalInterface ( )
virtual

Member Function Documentation

template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::AlgebraicGradient_Q ( VECTOR &  gradient,
const std::map< std::string, const dealii::Vector< double > * > &  param_values,
const std::map< std::string, const VECTOR * > &  domain_values 
)
virtual

Implements the gradient of a functional that can be computed by the values in some given Vectors or BlockVectors

template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
double DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::AlgebraicValue ( const std::map< std::string, const dealii::Vector< double > * > &  param_values,
const std::map< std::string, const VECTOR * > &  domain_values 
)
virtual

Implements a functional that can be computed by the values in some given Vectors or BlockVectors

template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
double DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::BoundaryValue ( const FDC< DH, VECTOR, dealdim > &  fdc)
virtual

The same as FunctionalInterface::ElementValue only on boundaries.

Parameters
fdcA FaceDataContainer containing all the information to evaluate the functional on a face.
local_vectorA Vector to contain the result.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::BoundaryValue_Q ( const FDC< DH, VECTOR, dealdim > &  fdc,
dealii::Vector< double > &  local_vector,
double  scale 
)
virtual

The same as FunctionalInterface::ElementValue_Q only on boundaries.

Parameters
fdcA FaceDataContainer containing all the information to evaluate the functional on a face.
local_vectorA Vector to contain the result.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::BoundaryValue_QQ ( const FDC< DH, VECTOR, dealdim > &  fdc,
dealii::Vector< double > &  local_vector,
double  scale 
)
virtual

The same as FunctionalInterface::ElementValue_QQ only on boundaries.

Parameters
fdcA FaceDataContainer containing all the information to evaluate the functional on a face.
local_vectorA Vector to contain the result.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::BoundaryValue_QU ( const FDC< DH, VECTOR, dealdim > &  fdc,
dealii::Vector< double > &  local_vector,
double  scale 
)
virtual

The same as FunctionalInterface::ElementValue_QU only on boundaries.

Parameters
fdcA FaceDataContainer containing all the information to evaluate the functional on a face.
local_vectorA Vector to contain the result.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::BoundaryValue_U ( const FDC< DH, VECTOR, dealdim > &  fdc,
dealii::Vector< double > &  local_vector,
double  scale 
)
virtual

The same as FunctionalInterface::ElementValue_U only on boundaries.

Parameters
fdcA FaceDataContainer containing all the information to evaluate the functional on a face.
local_vectorA Vector to contain the result.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::BoundaryValue_UQ ( const FDC< DH, VECTOR, dealdim > &  fdc,
dealii::Vector< double > &  local_vector,
double  scale 
)
virtual

The same as FunctionalInterface::ElementValue_UQ only on boundaries.

Parameters
fdcA FaceDataContainer containing all the information to evaluate the functional on a face.
local_vectorA Vector to contain the result.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::BoundaryValue_UU ( const FDC< DH, VECTOR, dealdim > &  fdc,
dealii::Vector< double > &  local_vector,
double  scale 
)
virtual

The same as FunctionalInterface::ElementValue_UU only on boundaries.

Parameters
fdcA FaceDataContainer containing all the information to evaluate the functional on a face.
local_vectorA Vector to contain the result.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
double DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::ElementValue ( const EDC< DH, VECTOR, dealdim > &  edc)
virtual

This evaluates the Cost Functional J(q,u) = j(q(x),u(x)) on a given element T.

Parameters
edcThe ElementDataContainer containing all the data necessary to evaluate the functional on a element.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::ElementValue_Q ( const EDC< DH, VECTOR, dealdim > &  edc,
dealii::Vector< double > &  local_vector,
double  scale 
)
virtual

This evaluates the Cost Functional J_q'(q,u)(.) = j_q'(q(x),u(x))(.) on a given element T.

Parameters
edcThe ElementDataContainer containing all the data necessary to evaluate the functional on a element.
local_vectorA Vector to contain the result. After completion local_vector fullfils local_vector(i) += scale * j_q'(q(x),u(x))() where is the i-th local basis function of the control space.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::ElementValue_QQ ( const EDC< DH, VECTOR, dealdim > &  edc,
dealii::Vector< double > &  local_vector,
double  scale 
)
virtual

This evaluates the Cost Functional J_qq'(q,u)(.,DQ) = j_qq'(q(x),u(x))(.,DQ) on a given element T.

Parameters
edcThe ElementDataContainer containing all the data necessary to evaluate the functional on a element.
local_vectorA Vector to contain the result. After completion local_vector fullfils local_vector(i) += scale * j_qq'(q(x),u(x))(,DQ) where is the i-th local basis function of the control space.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::ElementValue_QU ( const EDC< DH, VECTOR, dealdim > &  edc,
dealii::Vector< double > &  local_vector,
double  scale 
)
virtual

This evaluates the Cost Functional J_qu'(q,u)(.,DQ) = j_qu'(q(x),u(x))(.,DQ) on a given element T.

Parameters
edcThe ElementDataContainer containing all the data necessary to evaluate the functional on a element.
local_vectorA Vector to contain the result. After completion local_vector fullfils local_vector(i) += scale * j_qu'(q(x),u(x))(,DQ) where is the i-th local basis function of the state space.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::ElementValue_U ( const EDC< DH, VECTOR, dealdim > &  edc,
dealii::Vector< double > &  local_vector,
double  scale 
)
virtual

This evaluates the Cost Functional J_u'(q,u)(.) = j_u'(q(x),u(x))(.) on a given element T.

Parameters
edcThe ElementDataContainer containing all the data necessary to evaluate the functional on a element.
local_vectorA Vector to contain the result. After completion local_vector fulfills local_vector(i) += scale * j_u'(q(x),u(x))() where is the i-th local basis function of the state space.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::ElementValue_UQ ( const EDC< DH, VECTOR, dealdim > &  edc,
dealii::Vector< double > &  local_vector,
double  scale 
)
virtual

This evaluates the Cost Functional J_uq'(q,u)(.,DU) = j_uq'(q(x),u(x))(.,DU) on a given element T.

Parameters
edcThe ElementDataContainer containing all the data necessary to evaluate the functional on a element.
local_vectorA Vector to contain the result. After completion local_vector fullfils local_vector(i) += scale * j_uq'(q(x),u(x))(,DU) where is the i-th local basis function of the control space.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::ElementValue_UU ( const EDC< DH, VECTOR, dealdim > &  edc,
dealii::Vector< double > &  local_vector,
double  scale 
)
virtual

This evaluates the Cost Functional J_uu'(q,u)(.,DU) = j_uu'(q(x),u(x))(.,DU) on a given element T.

Parameters
edcThe ElementDataContainer containing all the data necessary to evaluate the functional on a element.
local_vectorA Vector to contain the result. After completion local_vector fullfils local_vector(i) += scale * j_uu'(q(x),u(x))(,DU) where is the i-th local basis function of the state space.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
double DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::FaceValue ( const FDC< DH, VECTOR, dealdim > &  fdc)
virtual

The same as FunctionalInterface::ElementValue only on a faces between elements. This function is only used if FunctionalInterface::HasFaces returns true.

Parameters
fdcA FaceDataContainer containing all the information to evaluate the functional on a face.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::FaceValue_Q ( const FDC< DH, VECTOR, dealdim > &  fdc,
dealii::Vector< double > &  local_vector,
double  scale 
)
virtual

The same as FunctionalInterface::ElementValue_Q only on a faces between elements. This function is only used if FunctionalInterface::HasFaces returns true.

Parameters
fdcA FaceDataContainer containing all the information to evaluate the functional on a face.
local_vectorA Vector to contain the result.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::FaceValue_QQ ( const FDC< DH, VECTOR, dealdim > &  fdc,
dealii::Vector< double > &  local_vector,
double  scale 
)
virtual

The same as FunctionalInterface::ElementValue_QQ only on a faces between elements. This function is only used if FunctionalInterface::HasFaces returns true.

Parameters
fdcA FaceDataContainer containing all the information to evaluate the functional on a face.
local_vectorA Vector to contain the result.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::FaceValue_QU ( const FDC< DH, VECTOR, dealdim > &  fdc,
dealii::Vector< double > &  local_vector,
double  scale 
)
virtual

The same as FunctionalInterface::ElementValue_QU only on a faces between elements. This function is only used if FunctionalInterface::HasFaces returns true.

Parameters
fdcA FaceDataContainer containing all the information to evaluate the functional on a face.
local_vectorA Vector to contain the result.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::FaceValue_U ( const FDC< DH, VECTOR, dealdim > &  fdc,
dealii::Vector< double > &  local_vector,
double  scale 
)
virtual

The same as FunctionalInterface::ElementValue_U only on a faces between elements. This function is only used if FunctionalInterface::HasFaces returns true.

Parameters
fdcA FaceDataContainer containing all the information to evaluate the functional on a face.
local_vectorA Vector to contain the result.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::FaceValue_UQ ( const FDC< DH, VECTOR, dealdim > &  fdc,
dealii::Vector< double > &  local_vector,
double  scale 
)
virtual

The same as FunctionalInterface::ElementValue_UQ only on a faces between elements. This function is only used if FunctionalInterface::HasFaces returns true.

Parameters
fdcA FaceDataContainer containing all the information to evaluate the functional on a face.
local_vectorA Vector to contain the result.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::FaceValue_UU ( const FDC< DH, VECTOR, dealdim > &  fdc,
dealii::Vector< double > &  local_vector,
double  scale 
)
virtual

The same as FunctionalInterface::ElementValue_UU only on a faces between elements. This function is only used if FunctionalInterface::HasFaces returns true.

Parameters
fdcA FaceDataContainer containing all the information to evaluate the functional on a face.
local_vectorA Vector to contain the result.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
UpdateFlags DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::GetFaceUpdateFlags ( ) const
virtual

This function tells what dealii::UpdateFlags are required by the functional to be used when initializing the DOpEWrapper::FEFaceValues on a face.

template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
std::string DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::GetName ( ) const
virtual

This function is used to name the Functional, this is helpful to distinguish different Functionals in the output.

Returns
A string. This is the name being displayed next to the computed values.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
std::string DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::GetProblemType ( ) const
protected
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
std::string DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::GetType ( ) const
virtual

This function describes what type of Functional is considered

Returns
A string describing the functional, feasible values are "domain", "boundary", "point" or "face" if it contains domain, or boundary ... parts all combinations of these keywords are feasible. In time dependent problems use "timelocal" to indicate that it should only be evaluated at a certain time_point, or "timedistributed" to consider ^T J(t,q(t),u(t)) only one of the words "timelocal" and "timedistributed" should be considered if not it will be considered to be "timelocal"
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
UpdateFlags DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::GetUpdateFlags ( ) const
virtual

This function tells what dealii::UpdateFlags are required by the functional to be used when initializing the DOpEWrapper::FEValues on an element.

template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
bool DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::HasFaces ( ) const
virtual

This function determines whether a loop over all faces is required or not.

Returns
Returns whether or not this functional has components on faces between elements. The default value is determined by the type of the functional, i.e. true if the signal 'face' is found in GetType(), false otherwise.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
bool DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::HasPoints ( ) const
virtual

This function determines whether an evaluation of PointRhs is required or not.

Returns
Returns whether or not this functional needs pointevaluations. The default value is determined by the type of the functional, i.e. true if the signal 'face' is found in GetType(), false otherwise.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim = dopedim>
virtual bool DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::NeedTime ( ) const
inlinevirtual

This Function is used to determine whether the current time is required by the functional. The Time is assumed to be set prior by FunctionalInterface::SetTime

Returns
A boolean that is true if the functional should be evaluated at the current time point. The default is true, i.e., we assume that unless stated otherwise the functional should be evaluated.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
double DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::PointValue ( const DOpEWrapper::DoFHandler< dopedim, DH > &  control_dof_handler,
const DOpEWrapper::DoFHandler< dealdim, DH > &  state_dof_handler,
const std::map< std::string, const dealii::Vector< double > * > &  param_values,
const std::map< std::string, const VECTOR * > &  domain_values 
)
virtual

This evaluates the Cost Functional J(q,u) = j(q(x_i),u(x_i)). For given points x_i.

Parameters
control_dof_handlerThe DOpEWrapper::DoFHandler for the control variable.
state_dof_handlerThe DOpEWrapper::DoFHandler for the state variable.
param_valuesA std::map containing parameter data (e.g. non space dependent data). If the control is done by parameters, it is contained in this map at the position "control".
domain_valuesA std::map containing domain data (e.g. nodal vectors for FE-Functions). If the control is distributed, it is contained in this map at the position "control". The state may always be found in this map at the position "state"
Returns
A number which is j(q(x_i),u(x_i))
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::PointValue_Q ( const DOpEWrapper::DoFHandler< dopedim, DH > &  control_dof_handler,
const DOpEWrapper::DoFHandler< dealdim, DH > &  state_dof_handler,
const std::map< std::string, const dealii::Vector< double > * > &  param_values,
const std::map< std::string, const VECTOR * > &  domain_values,
VECTOR &  rhs,
double  scale 
)
virtual

This evaluates the Cost Functional J_q'(q,u)(.) = j_q'(q(x_i),u(x_i))(.). For given points x_i.

Parameters
control_dof_handlerThe DOpEWrapper::DoFHandler for the control variable.
state_dof_handlerThe DOpEWrapper::DoFHandler for the state variable.
param_valuesA std::map containing parameter data (e.g. non space dependent data). If the control is done by parameters, it is contained in this map at the position "control".
domain_valuesA std::map containing domain data (e.g. nodal vectors for FE-Functions). If the control is distributed, it is contained in this map at the position "control". The state may always be found in this map at the position "state"
Thecomplete (!) rhs-vector, i.e. J_q'(q,u)(phi_i) with the i-th basis vector of the control space phi_i.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::PointValue_QQ ( const DOpEWrapper::DoFHandler< dopedim, DH > &  control_dof_handler,
const DOpEWrapper::DoFHandler< dealdim, DH > &  state_dof_handler,
const std::map< std::string, const dealii::Vector< double > * > &  param_values,
const std::map< std::string, const VECTOR * > &  domain_values,
VECTOR &  rhs,
double  scale 
)
virtual

This evaluates the Cost Functional J_qq''(q,u)(.,Dq) = j_qq''(q(x_i),u(x_i))(., Dq). For given points x_i.

Parameters
control_dof_handlerThe DOpEWrapper::DoFHandler for the control variable.
state_dof_handlerThe DOpEWrapper::DoFHandler for the state variable.
param_valuesA std::map containing parameter data (e.g. non space dependent data). If the control is done by parameters, it is contained in this map at the position "control".
domain_valuesA std::map containing domain data (e.g. nodal vectors for FE-Functions). If the control is distributed, it is contained in this map at the position "control". The state may always be found in this map at the position "state"
Thecomplete (!) rhs-vector, i.e. J_qq''(q,u)(phi_i, Dq) with the i-th basis vector of the control space phi_i.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::PointValue_QU ( const DOpEWrapper::DoFHandler< dopedim, DH > &  control_dof_handler,
const DOpEWrapper::DoFHandler< dealdim, DH > &  state_dof_handler,
const std::map< std::string, const dealii::Vector< double > * > &  param_values,
const std::map< std::string, const VECTOR * > &  domain_values,
VECTOR &  rhs,
double  scale 
)
virtual

This evaluates the Cost Functional J_qu''(q,u)(.,Dq) = j_qu''(q(x_i),u(x_i))(., Dq). For given points x_i.

Parameters
control_dof_handlerThe DOpEWrapper::DoFHandler for the control variable.
state_dof_handlerThe DOpEWrapper::DoFHandler for the state variable.
param_valuesA std::map containing parameter data (e.g. non space dependent data). If the control is done by parameters, it is contained in this map at the position "control".
domain_valuesA std::map containing domain data (e.g. nodal vectors for FE-Functions). If the control is distributed, it is contained in this map at the position "control". The state may always be found in this map at the position "state"
Thecomplete (!) rhs-vector, i.e. J_qu''(q,u)(phi_i, Dq) with the i-th basis vector of the state space phi_i.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::PointValue_U ( const DOpEWrapper::DoFHandler< dopedim, DH > &  control_dof_handler,
const DOpEWrapper::DoFHandler< dealdim, DH > &  state_dof_handler,
const std::map< std::string, const dealii::Vector< double > * > &  param_values,
const std::map< std::string, const VECTOR * > &  domain_values,
VECTOR &  rhs,
double  scale 
)
virtual

This evaluates the Cost Functional J_u'(q,u)(.) = j_u'(q(x_i),u(x_i))(.). For given points x_i.

Parameters
control_dof_handlerThe DOpEWrapper::DoFHandler for the control variable.
state_dof_handlerThe DOpEWrapper::DoFHandler for the state variable.
param_valuesA std::map containing parameter data (e.g. non space dependent data). If the control is done by parameters, it is contained in this map at the position "control".
domain_valuesA std::map containing domain data (e.g. nodal vectors for FE-Functions). If the control is distributed, it is contained in this map at the position "control". The state may always be found in this map at the position "state"
Thecomplete (!) rhs-vector, i.e. J_u'(q,u)(phi_i) with the i-th basis vector of the state space phi_i.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::PointValue_UQ ( const DOpEWrapper::DoFHandler< dopedim, DH > &  control_dof_handler,
const DOpEWrapper::DoFHandler< dealdim, DH > &  state_dof_handler,
const std::map< std::string, const dealii::Vector< double > * > &  param_values,
const std::map< std::string, const VECTOR * > &  domain_values,
VECTOR &  rhs,
double  scale 
)
virtual

This evaluates the Cost Functional J_uq''(q,u)(.,Du) = j_uq''(q(x_i),u(x_i))(., Du). For given points x_i.

Parameters
control_dof_handlerThe DOpEWrapper::DoFHandler for the control variable.
state_dof_handlerThe DOpEWrapper::DoFHandler for the state variable.
param_valuesA std::map containing parameter data (e.g. non space dependent data). If the control is done by parameters, it is contained in this map at the position "control".
domain_valuesA std::map containing domain data (e.g. nodal vectors for FE-Functions). If the control is distributed, it is contained in this map at the position "control". The state may always be found in this map at the position "state"
Thecomplete (!) rhs-vector, i.e. J_uq''(q,u)(phi_i, Du) with the i-th basis vector of the control space phi_i.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::PointValue_UU ( const DOpEWrapper::DoFHandler< dopedim, DH > &  control_dof_handler,
const DOpEWrapper::DoFHandler< dealdim, DH > &  state_dof_handler,
const std::map< std::string, const dealii::Vector< double > * > &  param_values,
const std::map< std::string, const VECTOR * > &  domain_values,
VECTOR &  rhs,
double  scale 
)
virtual

This evaluates the Cost Functional J_uu''(q,u)(.,Du) = j_uu''(q(x_i),u(x_i))(., Du). For given points x_i.

Parameters
control_dof_handlerThe DOpEWrapper::DoFHandler for the control variable.
state_dof_handlerThe DOpEWrapper::DoFHandler for the state variable.
param_valuesA std::map containing parameter data (e.g. non space dependent data). If the control is done by parameters, it is contained in this map at the position "control".
domain_valuesA std::map containing domain data (e.g. nodal vectors for FE-Functions). If the control is distributed, it is contained in this map at the position "control". The state may always be found in this map at the position "state"
Thecomplete (!) rhs-vector, i.e. J_uu''(q,u)(phi_i, Du) with the i-th basis vector of the state space phi_i.
scaleA factor by which the result is scaled.
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim>
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::SetProblemType ( std::string  type)
template<template< template< int, int > class DH, typename VECTOR, int dealdim > class EDC, template< template< int, int > class DH, typename VECTOR, int dealdim > class FDC, template< int, int > class DH, typename VECTOR , int dopedim, int dealdim = dopedim>
virtual void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::SetTime ( double  ) const
inlinevirtual

Sets the time for the functional. This is required by FunctionalInterface::NeedTime, and if the time is used within the functional to compute its value.

Parameters
tThe time that should be set.

The documentation for this class was generated from the following files: