DOpE
|
#include <functionalinterface.h>
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 > * > ¶m_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 > * > ¶m_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 > * > ¶m_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 > * > ¶m_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 > * > ¶m_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 > * > ¶m_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 > * > ¶m_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 > * > ¶m_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 > * > ¶m_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 |
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.
DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::FunctionalInterface | ( | ) |
|
virtual |
|
virtual |
Implements the gradient of a functional that can be computed by the values in some given Vectors or BlockVectors
|
virtual |
Implements a functional that can be computed by the values in some given Vectors or BlockVectors
|
virtual |
The same as FunctionalInterface::ElementValue only on boundaries.
fdc | A FaceDataContainer containing all the information to evaluate the functional on a face. |
local_vector | A Vector to contain the result. |
scale | A factor by which the result is scaled. |
|
virtual |
The same as FunctionalInterface::ElementValue_Q only on boundaries.
fdc | A FaceDataContainer containing all the information to evaluate the functional on a face. |
local_vector | A Vector to contain the result. |
scale | A factor by which the result is scaled. |
|
virtual |
The same as FunctionalInterface::ElementValue_QQ only on boundaries.
fdc | A FaceDataContainer containing all the information to evaluate the functional on a face. |
local_vector | A Vector to contain the result. |
scale | A factor by which the result is scaled. |
|
virtual |
The same as FunctionalInterface::ElementValue_QU only on boundaries.
fdc | A FaceDataContainer containing all the information to evaluate the functional on a face. |
local_vector | A Vector to contain the result. |
scale | A factor by which the result is scaled. |
|
virtual |
The same as FunctionalInterface::ElementValue_U only on boundaries.
fdc | A FaceDataContainer containing all the information to evaluate the functional on a face. |
local_vector | A Vector to contain the result. |
scale | A factor by which the result is scaled. |
|
virtual |
The same as FunctionalInterface::ElementValue_UQ only on boundaries.
fdc | A FaceDataContainer containing all the information to evaluate the functional on a face. |
local_vector | A Vector to contain the result. |
scale | A factor by which the result is scaled. |
|
virtual |
The same as FunctionalInterface::ElementValue_UU only on boundaries.
fdc | A FaceDataContainer containing all the information to evaluate the functional on a face. |
local_vector | A Vector to contain the result. |
scale | A factor by which the result is scaled. |
|
virtual |
This evaluates the Cost Functional J(q,u) = j(q(x),u(x)) on a given element T.
edc | The ElementDataContainer containing all the data necessary to evaluate the functional on a element. |
|
virtual |
This evaluates the Cost Functional J_q'(q,u)(.) = j_q'(q(x),u(x))(.) on a given element T.
edc | The ElementDataContainer containing all the data necessary to evaluate the functional on a element. |
local_vector | A 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. |
scale | A factor by which the result is scaled. |
|
virtual |
This evaluates the Cost Functional J_qq'(q,u)(.,DQ) = j_qq'(q(x),u(x))(.,DQ) on a given element T.
edc | The ElementDataContainer containing all the data necessary to evaluate the functional on a element. |
local_vector | A 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. |
scale | A factor by which the result is scaled. |
|
virtual |
This evaluates the Cost Functional J_qu'(q,u)(.,DQ) = j_qu'(q(x),u(x))(.,DQ) on a given element T.
edc | The ElementDataContainer containing all the data necessary to evaluate the functional on a element. |
local_vector | A 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. |
scale | A factor by which the result is scaled. |
|
virtual |
This evaluates the Cost Functional J_u'(q,u)(.) = j_u'(q(x),u(x))(.) on a given element T.
edc | The ElementDataContainer containing all the data necessary to evaluate the functional on a element. |
local_vector | A 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. |
scale | A factor by which the result is scaled. |
|
virtual |
This evaluates the Cost Functional J_uq'(q,u)(.,DU) = j_uq'(q(x),u(x))(.,DU) on a given element T.
edc | The ElementDataContainer containing all the data necessary to evaluate the functional on a element. |
local_vector | A 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. |
scale | A factor by which the result is scaled. |
|
virtual |
This evaluates the Cost Functional J_uu'(q,u)(.,DU) = j_uu'(q(x),u(x))(.,DU) on a given element T.
edc | The ElementDataContainer containing all the data necessary to evaluate the functional on a element. |
local_vector | A 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. |
scale | A factor by which the result is scaled. |
|
virtual |
The same as FunctionalInterface::ElementValue only on a faces between elements. This function is only used if FunctionalInterface::HasFaces returns true.
fdc | A FaceDataContainer containing all the information to evaluate the functional on a face. |
|
virtual |
The same as FunctionalInterface::ElementValue_Q only on a faces between elements. This function is only used if FunctionalInterface::HasFaces returns true.
fdc | A FaceDataContainer containing all the information to evaluate the functional on a face. |
local_vector | A Vector to contain the result. |
scale | A factor by which the result is scaled. |
|
virtual |
The same as FunctionalInterface::ElementValue_QQ only on a faces between elements. This function is only used if FunctionalInterface::HasFaces returns true.
fdc | A FaceDataContainer containing all the information to evaluate the functional on a face. |
local_vector | A Vector to contain the result. |
scale | A factor by which the result is scaled. |
|
virtual |
The same as FunctionalInterface::ElementValue_QU only on a faces between elements. This function is only used if FunctionalInterface::HasFaces returns true.
fdc | A FaceDataContainer containing all the information to evaluate the functional on a face. |
local_vector | A Vector to contain the result. |
scale | A factor by which the result is scaled. |
|
virtual |
The same as FunctionalInterface::ElementValue_U only on a faces between elements. This function is only used if FunctionalInterface::HasFaces returns true.
fdc | A FaceDataContainer containing all the information to evaluate the functional on a face. |
local_vector | A Vector to contain the result. |
scale | A factor by which the result is scaled. |
|
virtual |
The same as FunctionalInterface::ElementValue_UQ only on a faces between elements. This function is only used if FunctionalInterface::HasFaces returns true.
fdc | A FaceDataContainer containing all the information to evaluate the functional on a face. |
local_vector | A Vector to contain the result. |
scale | A factor by which the result is scaled. |
|
virtual |
The same as FunctionalInterface::ElementValue_UU only on a faces between elements. This function is only used if FunctionalInterface::HasFaces returns true.
fdc | A FaceDataContainer containing all the information to evaluate the functional on a face. |
local_vector | A Vector to contain the result. |
scale | A factor by which the result is scaled. |
|
virtual |
This function tells what dealii::UpdateFlags are required by the functional to be used when initializing the DOpEWrapper::FEFaceValues on a face.
|
virtual |
This function is used to name the Functional, this is helpful to distinguish different Functionals in the output.
|
protected |
|
virtual |
This function describes what type of Functional is considered
|
virtual |
This function tells what dealii::UpdateFlags are required by the functional to be used when initializing the DOpEWrapper::FEValues on an element.
|
virtual |
This function determines whether a loop over all faces is required or not.
|
virtual |
This function determines whether an evaluation of PointRhs is required or not.
|
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
|
virtual |
This evaluates the Cost Functional J(q,u) = j(q(x_i),u(x_i)). For given points x_i.
control_dof_handler | The DOpEWrapper::DoFHandler for the control variable. |
state_dof_handler | The DOpEWrapper::DoFHandler for the state variable. |
param_values | A 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_values | A 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" |
|
virtual |
This evaluates the Cost Functional J_q'(q,u)(.) = j_q'(q(x_i),u(x_i))(.). For given points x_i.
control_dof_handler | The DOpEWrapper::DoFHandler for the control variable. |
state_dof_handler | The DOpEWrapper::DoFHandler for the state variable. |
param_values | A 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_values | A 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" |
The | complete (!) rhs-vector, i.e. J_q'(q,u)(phi_i) with the i-th basis vector of the control space phi_i. |
scale | A factor by which the result is scaled. |
|
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.
control_dof_handler | The DOpEWrapper::DoFHandler for the control variable. |
state_dof_handler | The DOpEWrapper::DoFHandler for the state variable. |
param_values | A 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_values | A 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" |
The | complete (!) rhs-vector, i.e. J_qq''(q,u)(phi_i, Dq) with the i-th basis vector of the control space phi_i. |
scale | A factor by which the result is scaled. |
|
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.
control_dof_handler | The DOpEWrapper::DoFHandler for the control variable. |
state_dof_handler | The DOpEWrapper::DoFHandler for the state variable. |
param_values | A 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_values | A 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" |
The | complete (!) rhs-vector, i.e. J_qu''(q,u)(phi_i, Dq) with the i-th basis vector of the state space phi_i. |
scale | A factor by which the result is scaled. |
|
virtual |
This evaluates the Cost Functional J_u'(q,u)(.) = j_u'(q(x_i),u(x_i))(.). For given points x_i.
control_dof_handler | The DOpEWrapper::DoFHandler for the control variable. |
state_dof_handler | The DOpEWrapper::DoFHandler for the state variable. |
param_values | A 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_values | A 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" |
The | complete (!) rhs-vector, i.e. J_u'(q,u)(phi_i) with the i-th basis vector of the state space phi_i. |
scale | A factor by which the result is scaled. |
|
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.
control_dof_handler | The DOpEWrapper::DoFHandler for the control variable. |
state_dof_handler | The DOpEWrapper::DoFHandler for the state variable. |
param_values | A 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_values | A 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" |
The | complete (!) rhs-vector, i.e. J_uq''(q,u)(phi_i, Du) with the i-th basis vector of the control space phi_i. |
scale | A factor by which the result is scaled. |
|
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.
control_dof_handler | The DOpEWrapper::DoFHandler for the control variable. |
state_dof_handler | The DOpEWrapper::DoFHandler for the state variable. |
param_values | A 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_values | A 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" |
The | complete (!) rhs-vector, i.e. J_uu''(q,u)(phi_i, Du) with the i-th basis vector of the state space phi_i. |
scale | A factor by which the result is scaled. |
void DOpE::FunctionalInterface< EDC, FDC, DH, VECTOR, dopedim, dealdim >::SetProblemType | ( | std::string | type | ) |
|
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.
t | The time that should be set. |