DOpE
|
#include <instatoptproblemcontainer.h>
Public Member Functions | |
InstatOptProblemContainer (FUNCTIONAL &functional, PDE &pde, CONSTRAINTS &constraints, SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dopedim, dealdim > &STH) | |
~InstatOptProblemContainer () | |
void | ReInit (std::string algo_type) |
std::string | GetName () const |
PRIMALTSPROBLEM< StateProblem < OptProblemContainer < FUNCTIONAL_INTERFACE, FUNCTIONAL, PDE, DD, CONSTRAINTS, SPARSITYPATTERN, VECTOR, dopedim, dealdim, FE, DH >, PDE, DD, SPARSITYPATTERN, VECTOR, dealdim > , SPARSITYPATTERN, VECTOR, dopedim, dealdim, FE, DH > & | GetStateProblem () |
ADJOINTTSPROBLEM < OptProblemContainer < FUNCTIONAL_INTERFACE, FUNCTIONAL, PDE, DD, CONSTRAINTS, SPARSITYPATTERN, VECTOR, dopedim, dealdim, FE, DH >, SPARSITYPATTERN, VECTOR, dopedim, dealdim, FE, DH > & | GetAdjointProblem () |
PRIMALTSPROBLEM < OptProblemContainer < FUNCTIONAL_INTERFACE, FUNCTIONAL, PDE, DD, CONSTRAINTS, SPARSITYPATTERN, VECTOR, dopedim, dealdim, FE, DH >, SPARSITYPATTERN, VECTOR, dopedim, dealdim, FE, DH > & | GetTangentProblem () |
ADJOINTTSPROBLEM < OptProblemContainer < FUNCTIONAL_INTERFACE, FUNCTIONAL, PDE, DD, CONSTRAINTS, SPARSITYPATTERN, VECTOR, dopedim, dealdim, FE, DH >, SPARSITYPATTERN, VECTOR, dopedim, dealdim, FE, DH > & | GetAdjointHessianProblem () |
Public Member Functions inherited from DOpE::OptProblemContainer< FUNCTIONAL_INTERFACE, FUNCTIONAL, PDE, DD, CONSTRAINTS, SPARSITYPATTERN, VECTOR, dopedim, dealdim, FE, DH > | |
OptProblemContainer (FUNCTIONAL &functional, PDE &pde, CONSTRAINTS &constraints, SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dopedim, dealdim > &STH) | |
virtual | ~OptProblemContainer () |
StateProblem < OptProblemContainer < FUNCTIONAL_INTERFACE, FUNCTIONAL, PDE, DD, CONSTRAINTS, SPARSITYPATTERN, VECTOR, dopedim, dealdim, FE, DH >, PDE, DD, SPARSITYPATTERN, VECTOR, dealdim > & | GetStateProblem () |
OptProblemContainer < FUNCTIONAL_INTERFACE, FUNCTIONAL, PDE, DD, CONSTRAINTS, SPARSITYPATTERN, VECTOR, dopedim, dealdim, FE, DH > & | GetBaseProblem () |
void | ReInit (std::string algo_type) |
void | RegisterOutputHandler (DOpEOutputHandler< VECTOR > *OH) |
void | RegisterExceptionHandler (DOpEExceptionHandler< VECTOR > *OH) |
void | SetType (std::string type, unsigned int num=0) |
template<typename DATACONTAINER > | |
double | ElementFunctional (const DATACONTAINER &edc) |
double | PointFunctional (const std::map< std::string, const dealii::Vector< double > * > ¶m_values, const std::map< std::string, const VECTOR * > &domain_values) |
template<typename FACEDATACONTAINER > | |
double | BoundaryFunctional (const FACEDATACONTAINER &fdc) |
template<typename FACEDATACONTAINER > | |
double | FaceFunctional (const FACEDATACONTAINER &fdc) |
double | AlgebraicFunctional (const std::map< std::string, const dealii::Vector< double > * > &values, const std::map< std::string, const VECTOR * > &block_values) |
void | AlgebraicResidual (VECTOR &residual, const std::map< std::string, const dealii::Vector< double > * > &values, const std::map< std::string, const VECTOR * > &block_values) |
template<typename DATACONTAINER > | |
void | ElementEquation (const DATACONTAINER &edc, dealii::Vector< double > &local_vector, double scale, double scale_ico) |
template<typename DATACONTAINER > | |
void | ElementTimeEquation (const DATACONTAINER &dc, dealii::Vector< double > &local_vector, double scale=1.) |
template<typename DATACONTAINER > | |
void | ElementTimeEquationExplicit (const DATACONTAINER &dc, dealii::Vector< double > &local_vector, double scale=1.) |
template<typename DATACONTAINER > | |
void | ElementRhs (const DATACONTAINER &dc, dealii::Vector< double > &local_vector, double scale=1.) |
void | PointRhs (const std::map< std::string, const dealii::Vector< double > * > ¶m_values, const std::map< std::string, const VECTOR * > &domain_values, VECTOR &rhs_vector, double scale=1.) |
template<typename DATACONTAINER > | |
void | ElementMatrix (const DATACONTAINER &dc, dealii::FullMatrix< double > &local_entry_matrix, double scale=1., double scale_ico=1.) |
template<typename DATACONTAINER > | |
void | ElementTimeMatrix (const DATACONTAINER &dc, dealii::FullMatrix< double > &local_entry_matrix) |
template<typename DATACONTAINER > | |
void | ElementTimeMatrixExplicit (const DATACONTAINER &dc, dealii::FullMatrix< double > &local_entry_matrix) |
template<typename FACEDATACONTAINER > | |
void | FaceEquation (const FACEDATACONTAINER &dc, dealii::Vector< double > &local_vector, double scale, double scale_ico) |
template<typename FACEDATACONTAINER > | |
void | InterfaceEquation (const FACEDATACONTAINER &dc, dealii::Vector< double > &local_vector, double scale, double scale_ico) |
template<typename FACEDATACONTAINER > | |
void | FaceRhs (const FACEDATACONTAINER &dc, dealii::Vector< double > &local_vector, double scale=1.) |
template<typename FACEDATACONTAINER > | |
void | FaceMatrix (const FACEDATACONTAINER &dc, dealii::FullMatrix< double > &local_entry_matrix, double scale=1., double scale_ico=1.) |
template<typename FACEDATACONTAINER > | |
void | InterfaceMatrix (const FACEDATACONTAINER &dc, dealii::FullMatrix< double > &local_entry_matrix, double scale=1., double scale_ico=1.) |
template<typename FACEDATACONTAINER > | |
void | BoundaryEquation (const FACEDATACONTAINER &dc, dealii::Vector< double > &local_vector, double scale, double scale_ico) |
template<typename FACEDATACONTAINER > | |
void | BoundaryRhs (const FACEDATACONTAINER &dc, dealii::Vector< double > &local_vector, double scale=1.) |
template<typename FACEDATACONTAINER > | |
void | BoundaryMatrix (const FACEDATACONTAINER &dc, dealii::FullMatrix< double > &local_matrix, double scale=1., double scale_ico=1.) |
void | ComputeLocalControlConstraints (VECTOR &constraints, const std::map< std::string, const dealii::Vector< double > * > &values, const std::map< std::string, const VECTOR * > &block_values) |
void | GetControlBoxConstraints (VECTOR &lb, VECTOR &ub) const |
const FE< dealdim, dealdim > & | GetFESystem () const |
bool | HasFaces () const |
bool | HasPoints () const |
bool | HasInterfaces () const |
dealii::UpdateFlags | GetUpdateFlags () const |
dealii::UpdateFlags | GetFaceUpdateFlags () const |
void | SetControlDirichletBoundaryColors (unsigned int color, const std::vector< bool > &comp_mask, const DOpEWrapper::Function< dealdim > *values) |
void | SetDirichletBoundaryColors (unsigned int color, const std::vector< bool > &comp_mask, const DD *values) |
const std::vector< unsigned int > & | GetDirichletColors () const |
const std::vector< unsigned int > & | GetTransposedDirichletColors () const |
const std::vector< bool > & | GetDirichletCompMask (unsigned int color) const |
const std::vector< bool > & | GetTransposedDirichletCompMask (unsigned int color) const |
const dealii::Function< dealdim > & | GetDirichletValues (unsigned int color, const std::map< std::string, const dealii::Vector< double > * > ¶m_values, const std::map< std::string, const VECTOR * > &domain_values) const |
const TransposedDirichletDataInterface < dealdim > & | GetTransposedDirichletValues (unsigned int color, const std::map< std::string, const dealii::Vector< double > * > ¶m_values, const std::map< std::string, const VECTOR * > &domain_values) const |
void | SetInitialValues (const dealii::Function< dealdim > *values) |
const dealii::Function< dealdim > & | GetInitialValues () const |
void | SetControlBoundaryEquationColors (unsigned int color) |
void | SetBoundaryEquationColors (unsigned int color) |
const std::vector< unsigned int > & | GetBoundaryEquationColors () const |
void | SetBoundaryFunctionalColors (unsigned int color) |
const std::vector< unsigned int > & | GetBoundaryFunctionalColors () const |
void | AddFunctional (FUNCTIONAL_INTERFACE *F) |
void | SetFunctionalForErrorEstimation (std::string functional_name) |
unsigned int | GetNFunctionals () const |
unsigned int | GetControlNBlocks () const |
unsigned int | GetStateNBlocks () const |
unsigned int | GetNBlocks () const |
unsigned int | GetDoFsPerBlock (unsigned int b) const |
const std::vector< unsigned int > & | GetDoFsPerBlock () const |
const dealii::ConstraintMatrix & | GetDoFConstraints () const |
std::string | GetDoFType () const |
std::string | GetFunctionalType () const |
std::string | GetFunctionalName () const |
std::string | GetConstraintType () const |
bool | NeedTimeFunctional () const |
bool | HasControlInDirichletData () const |
DOpEExceptionHandler< VECTOR > * | GetExceptionHandler () |
DOpEOutputHandler< VECTOR > * | GetOutputHandler () |
void | SetTime (double time, const TimeIterator &interval, bool initial=false) |
const SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dopedim, dealdim > * | GetSpaceTimeHandler () const |
SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dopedim, dealdim > * | GetSpaceTimeHandler () |
void | ComputeSparsityPattern (SPARSITYPATTERN &sparsity) const |
void | PostProcessConstraints (ConstraintVector< VECTOR > &g) const |
void | AddAuxiliaryControl (const ControlVector< VECTOR > *c, std::string name) |
void | AddAuxiliaryState (const StateVector< VECTOR > *c, std::string name) |
void | AddAuxiliaryConstraint (const ConstraintVector< VECTOR > *c, std::string name) |
const ControlVector< VECTOR > * | GetAuxiliaryControl (std::string name) const |
const StateVector< VECTOR > * | GetAuxiliaryState (std::string name) const |
void | DeleteAuxiliaryControl (std::string name) |
void | DeleteAuxiliaryState (std::string name) |
void | DeleteAuxiliaryConstraint (std::string name) |
const ConstraintVector< VECTOR > * | GetAuxiliaryConstraint (std::string name) |
template<typename INTEGRATOR > | |
void | AddAuxiliaryToIntegrator (INTEGRATOR &integrator) |
template<typename INTEGRATOR > | |
void | DeleteAuxiliaryFromIntegrator (INTEGRATOR &integrator) |
const std::map< std::string, unsigned int > & | GetFunctionalPosition () const |
unsigned int | GetStateNBlocks () |
std::vector< unsigned int > & | GetControlBlockComponent () |
std::vector< unsigned int > & | GetStateBlockComponent () |
template<typename DATACONTAINER > | |
void | Init_ElementEquation (const DATACONTAINER &edc, dealii::Vector< double > &local_vector, double scale, double scale_ico) |
template<typename DATACONTAINER > | |
void | Init_ElementRhs (const DATACONTAINER &edc, dealii::Vector< double > &local_vector, double scale) |
void | Init_PointRhs (const std::map< std::string, const dealii::Vector< double > * > ¶m_values, const std::map< std::string, const VECTOR * > &domain_values, VECTOR &rhs_vector, double scale=1.) |
template<typename DATACONTAINER > | |
void | Init_ElementMatrix (const DATACONTAINER &edc, dealii::FullMatrix< double > &local_entry_matrix, double scale, double scale_ico) |
bool | EEFunctionalIsCost () const |
template<typename DATACONTAINER > | |
void | ElementTimeMatrix (const DATACONTAINER &edc, FullMatrix< double > &local_entry_matrix) |
template<typename FACEDATACONTAINER > | |
void | FaceMatrix (const FACEDATACONTAINER &fdc, FullMatrix< double > &local_entry_matrix, double scale, double scale_ico) |
template<typename FACEDATACONTAINER > | |
void | InterfaceMatrix (const FACEDATACONTAINER &fdc, FullMatrix< double > &local_entry_matrix, double scale, double scale_ico) |
template<typename FACEDATACONTAINER > | |
void | BoundaryMatrix (const FACEDATACONTAINER &fdc, FullMatrix< double > &local_matrix, double scale, double scale_ico) |
Public Member Functions inherited from DOpE::ProblemContainerInternal< PDE > | |
ProblemContainerInternal (PDE &pde) | |
template<class EDC , class DWRC > | |
void | ElementErrorContribution (const EDC &edc, const DWRC &dwrc, std::vector< double > &element_contrib, double scale) |
template<class FDC , class DWRC > | |
void | FaceErrorContribution (const FDC &fdc, const DWRC &dwrc, std::vector< double > &error_contrib, double scale=1.) |
template<class FDC , class DWRC > | |
void | BoundaryErrorContribution (const FDC &dc, const DWRC &dwrc, std::vector< double > &, double scale=1.) |
const PDE & | GetPDE () const |
std::string | GetType () const |
unsigned int | GetTypeNum () const |
Additional Inherited Members | |
Protected Member Functions inherited from DOpE::OptProblemContainer< FUNCTIONAL_INTERFACE, FUNCTIONAL, PDE, DD, CONSTRAINTS, SPARSITYPATTERN, VECTOR, dopedim, dealdim, FE, DH > | |
FUNCTIONAL * | GetFunctional () |
const FUNCTIONAL * | GetFunctional () const |
CONSTRAINTS * | GetConstraints () |
const CONSTRAINTS * | GetConstraints () const |
const VECTOR * | GetBlockVector (const std::map< std::string, const VECTOR * > &values, std::string name) |
const dealii::Vector< double > * | GetVector (const std::map< std::string, const Vector< double > * > &values, std::string name) |
Protected Member Functions inherited from DOpE::ProblemContainerInternal< PDE > | |
PDE & | GetPDE () |
void | SetTypeInternal (std::string a) |
void | SetTypeNumInternal (unsigned int i) |
Container class for all nonstationary Optimization problems. This class collects all problem depended data needed to calculate the solution to the optimization problem.
At present also nonstationary PDEs use this container, beeing also an optimization problem over a set with just one point.
PRIMALTSPROBLEM | The description of the time discretization scheme for the PDE (and tangent PDE). |
ADJOINTTSPROBLEM | The description of the time discretization scheme for the adjoint PDE (and all auxilliary adjoint problems). |
FUNCTIONAL_INTERFACE | A generic interface to arbitrary functionals to be evaluated. |
FUNCTIONAL | The cost functional, see FunctionalInterface for details. |
PDE | The description of the PDE, see PDEInterface for details. |
DD | The description of the Dirichlet data, see DirichletDataInterface for details. |
CONSTRAINTS | The description of, possible, additional constraints for the optimization problem, see ConstraintInterface for details. |
SPARSITYPATTERN | The sparsity pattern to be used in the stiffness matrix. |
VECTOR | The vector type in which the coordinate vector of the solution is to be stored. |
dopedim | The dimension of the domain in which the control is considered. |
dealdim | The dimension of the domain in which the PDE is considered. |
FE | The finite element under consideration. |
DH | The spatial DoFHandler to be used when evaluating the weak form. |
|
inline |
|
inline |
|
inline |
Returns a description of the Auxilliary Adjoint PDE for the Hessian Operator
|
inline |
Returns a description of the Adjoint PDE
|
inlinevirtual |
|
inline |
Returns a description of the PDE
|
inline |
Returns a description of the tangent PDE
|
inline |