DOpE
|
#include <pdeproblemcontainer.h>
Public Member Functions | |
PDEProblemContainer (PDE &pde, StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim > &STH) | |
virtual | ~PDEProblemContainer () |
virtual std::string | GetName () const |
StateProblem < PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >, PDE, DD, SPARSITYPATTERN, VECTOR, dealdim > & | GetStateProblem () |
PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, 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) |
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.) |
const FE< dealdim, dealdim > & | GetFESystem () const |
bool | HasFaces () const |
bool | HasPoints () const |
bool | HasInterfaces () const |
dealii::UpdateFlags | GetUpdateFlags () const |
dealii::UpdateFlags | GetFaceUpdateFlags () const |
void | SetDirichletBoundaryColors (unsigned int color, const std::vector< bool > &comp_mask, const DD *values) |
const std::vector< unsigned int > & | GetDirichletColors () const |
const std::vector< bool > & | GetDirichletCompMask (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 |
void | SetInitialValues (const dealii::Function< dealdim > *values) |
const dealii::Function< dealdim > & | GetInitialValues () const |
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 (FunctionalInterface< ElementDataContainer, FaceDataContainer, DH, VECTOR, dealdim > *F) |
void | SetFunctionalForErrorEstimation (std::string functional_name) |
unsigned int | GetNFunctionals () 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 |
bool | NeedTimeFunctional () const |
DOpEExceptionHandler< VECTOR > * | GetExceptionHandler () |
DOpEOutputHandler< VECTOR > * | GetOutputHandler () |
void | SetTime (double time, const TimeIterator &interval) |
const StateSpaceTimeHandler < FE, DH, SPARSITYPATTERN, VECTOR, dealdim > * | GetSpaceTimeHandler () const |
StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim > * | GetSpaceTimeHandler () |
void | ComputeSparsityPattern (SPARSITYPATTERN &sparsity) const |
void | ComputeMGSparsityPattern (dealii::MGLevelObject< dealii::BlockSparsityPattern > &mg_sparsity_patterns, unsigned int n_levels) const |
void | ComputeMGSparsityPattern (dealii::MGLevelObject< dealii::SparsityPattern > &mg_sparsity_patterns, unsigned int n_levels) const |
template<typename INTEGRATOR > | |
void | AddAuxiliaryToIntegrator (INTEGRATOR &) |
template<typename INTEGRATOR > | |
void | DeleteAuxiliaryFromIntegrator (INTEGRATOR &) |
unsigned int | GetStateNBlocks () |
std::vector< unsigned int > & | GetStateBlockComponent () |
const std::map< std::string, unsigned int > & | GetFunctionalPosition () 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 |
Friends | |
class | StateProblem< PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >, PDE, DD, SPARSITYPATTERN, VECTOR, dealdim > |
Additional Inherited Members | |
Protected Member Functions inherited from DOpE::ProblemContainerInternal< PDE > | |
PDE & | GetPDE () |
void | SetTypeInternal (std::string a) |
void | SetTypeNumInternal (unsigned int i) |
Container class for all stationary PDE problems. This class collects all problem depended data needed to calculate the solution to the PDE.
PDE | The description of the PDE, see PDEInterface for details. |
DD | The description of the Dirichlet data, see DirichletDataInterface 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. |
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. |
DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::PDEProblemContainer | ( | PDE & | pde, |
StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim > & | STH | ||
) |
|
virtual |
|
inline |
|
inline |
Adds a functional which will be evaluated after/during (in time dependent equations) the computation of the state solution.
Note that you have to specify a the GetName() method for your functional, and that you can not add two functionals with the same name!
double DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::AlgebraicFunctional | ( | const std::map< std::string, const dealii::Vector< double > * > & | values, |
const std::map< std::string, const VECTOR * > & | block_values | ||
) |
This function returns a functional value that is computed entirely out of the knowledge of the coordinate vectors of state and control.
No integration routine is implemented inbetween!
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::BoundaryEquation | ( | const FACEDATACONTAINER & | dc, |
dealii::Vector< double > & | local_vector, | ||
double | scale, | ||
double | scale_ico | ||
) |
Computes the value of face on a boundary. It has the same functionality as ElementEquation. We refer to its documentation.
double DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::BoundaryFunctional | ( | const FACEDATACONTAINER & | fdc | ) |
This function returns a functional value of a part of the outer boundary or the whole boundary. Different types of functionals have been implemented so far: `cost_functional', `aux_functional' and 'functional_for_ee. The first one is needed for optimization problems. The second one can be used for the computation of arbitrary functionals that are defined on the boundary, e.g., stresses. The last one is needed if one watns to use the goal oriented adaptive grid refinement based on the DWR method.
FACEDATACONTAINER Class of the datacontainer in use, distinguishes between hp- and classical case.
fdc | A DataContainer holding all the needed information of the face. |
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::BoundaryMatrix | ( | const FACEDATACONTAINER & | dc, |
dealii::FullMatrix< double > & | local_matrix, | ||
double | scale = 1. , |
||
double | scale_ico = 1. |
||
) |
Computes the value of the boundary on a element. It has the same functionality as ElementMatrix. We refer to its documentation.
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::BoundaryMatrix | ( | const FACEDATACONTAINER & | fdc, |
FullMatrix< double > & | local_matrix, | ||
double | scale, | ||
double | scale_ico | ||
) |
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::BoundaryRhs | ( | const FACEDATACONTAINER & | dc, |
dealii::Vector< double > & | local_vector, | ||
double | scale = 1. |
||
) |
Computes the value of the boundary on a element. It has the same functionality as ElementRhs. We refer to its documentation.
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::ComputeMGSparsityPattern | ( | dealii::MGLevelObject< dealii::BlockSparsityPattern > & | mg_sparsity_patterns, |
unsigned int | n_levels | ||
) | const |
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::ComputeMGSparsityPattern | ( | dealii::MGLevelObject< dealii::SparsityPattern > & | mg_sparsity_patterns, |
unsigned int | n_levels | ||
) | const |
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::ComputeSparsityPattern | ( | SPARSITYPATTERN & | sparsity | ) | const |
|
inline |
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::ElementEquation | ( | const DATACONTAINER & | edc, |
dealii::Vector< double > & | local_vector, | ||
double | scale, | ||
double | scale_ico | ||
) |
Computes the value of the element equation which corresponds to the residuum in nonlinear cases. This function is the basis for all stationary examples and unsteady configurations as well. However, in unsteady computations one has to differentiate between explicit (diffusion, convection) and implicit terms (pressure, incompressibility). For that reason a second function ElementEquationImplicit also exists.
If no differentiation between explicit and implicit terms is needed this function should be used.
DATACONTAINER Class of the datacontainer in use, distinguishes between hp- and classical case.
edc | A DataContainer holding all the needed information of the element |
local_vector | This vector contains the locally computed values of the element equation. For more information on dealii::Vector, please visit, the deal.ii manual pages. |
scale | A scaling factor which is -1 or 1 depending on the subroutine to compute. |
scale_ico | A scaling factor for terms which will be treated fully implicit in an instationary equation. |
double DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::ElementFunctional | ( | const DATACONTAINER & | edc | ) |
This function returns a functional value on a element. Different types of functionals have been implemented so far: `cost_functional', `aux_functional' and 'functional_for_ee'. The first one is needed for optimization problems. The second one can be used for the computation of arbitrary functionals that are defined on elements, e.g., drag and lift computation. Or computations of deflections and deformations. The last one is needed if one wants to use the goal oriented adaptive grid refinement based on the DWR method.
DATACONTAINER Class of the datacontainer, distinguishes between hp- and classical case.
edc | A DataContainer holding all the needed information of the face. |
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::ElementMatrix | ( | const DATACONTAINER & | dc, |
dealii::FullMatrix< double > & | local_entry_matrix, | ||
double | scale = 1. , |
||
double | scale_ico = 1. |
||
) |
Computes the value of the element matrix which is derived by computing the directional derivatives of the residuum equation of the PDE problem under consideration.
The differentiation between explicit and implicit terms is equivalent to the ElementEquation. We refer to its documentation.
Moreover, you find an extensive explication in the time step algorithms, e.g., backward_euler_problem.h.
DATACONTAINER Class of the datacontainer in use, distinguishes between hp- and classical case.
edc | A DataContainer holding all the needed information |
local_entry_matrix | The local matrix is quadratic and has size local DoFs times local DoFs and is filled by the locally computed values. For more information of its functionality, please search for the keyword `FullMatrix' in the deal.ii manual. |
scale | A scaling factor which is -1 or 1 depending on the subroutine to compute. |
scale_ico | A scaling factor for terms which will be treated fully implicit in an instationary equation. |
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::ElementRhs | ( | const DATACONTAINER & | dc, |
dealii::Vector< double > & | local_vector, | ||
double | scale = 1. |
||
) |
Computes the value of the right-hand side of the problem at hand.
DATACONTAINER Class of the datacontainer in use, distinguishes between hp- and classical case.
edc | A DataContainer holding all the needed information |
local_vector | This vector contains the locally computed values of the element equation. For more information on dealii::Vector, please visit, the deal.ii manual pages. |
scale | A scaling factor which is -1 or 1 depending on the subroutine to compute. |
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::ElementTimeEquation | ( | const DATACONTAINER & | dc, |
dealii::Vector< double > & | local_vector, | ||
double | scale = 1. |
||
) |
This function has the same functionality as the ElementEquation function. It is needed for time derivatives when working with time dependent problems.
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::ElementTimeEquationExplicit | ( | const DATACONTAINER & | dc, |
dealii::Vector< double > & | local_vector, | ||
double | scale = 1. |
||
) |
This function has the same functionality as the ElementTimeEquation function. It is needed for problems with nonlinearities in the time derivative, like fluid-structure interaction problems and has special structure.
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::ElementTimeMatrix | ( | const DATACONTAINER & | dc, |
dealii::FullMatrix< double > & | local_entry_matrix | ||
) |
Computes the value of the element matrix which is derived by computing the directional derivatives of the time residuum of the PDE problem under consideration.
The differentiation between explicit and implicit terms is equivalent to the ElementTimeEquation. We refer to its documentation.
Moreover, you find an extensive explication in the time step algorithms, e.g., backward_euler_problem.h.
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::ElementTimeMatrix | ( | const DATACONTAINER & | edc, |
FullMatrix< double > & | local_entry_matrix | ||
) |
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::ElementTimeMatrixExplicit | ( | const DATACONTAINER & | dc, |
dealii::FullMatrix< double > & | local_entry_matrix | ||
) |
Computes the value of the element matrix which is derived by computing the directional derivatives of the time residuum of the PDE problem under consideration.
This function is only needed for fluid-structure interaction problems. Please ask Thomas Wick WHY and HOW to use this function.
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::FaceEquation | ( | const FACEDATACONTAINER & | dc, |
dealii::Vector< double > & | local_vector, | ||
double | scale, | ||
double | scale_ico | ||
) |
Computes the value of face on a element. It has the same functionality as ElementEquation. We refer to its documentation.
double DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::FaceFunctional | ( | const FACEDATACONTAINER & | fdc | ) |
This function returns a functional value of quantities that are defined on faces. This function is very similar to the BoundaryFunctional and has the same functionality.
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::FaceMatrix | ( | const FACEDATACONTAINER & | dc, |
dealii::FullMatrix< double > & | local_entry_matrix, | ||
double | scale = 1. , |
||
double | scale_ico = 1. |
||
) |
Computes the value of face on a element. It has the same functionality as ElementMatrix. We refer to its documentation.
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::FaceMatrix | ( | const FACEDATACONTAINER & | fdc, |
FullMatrix< double > & | local_entry_matrix, | ||
double | scale, | ||
double | scale_ico | ||
) |
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::FaceRhs | ( | const FACEDATACONTAINER & | dc, |
dealii::Vector< double > & | local_vector, | ||
double | scale = 1. |
||
) |
Computes the value of face on a element. It has the same functionality as ElementRhs. We refer to its documentation.
|
inline |
const std::vector< unsigned int > & DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::GetBoundaryEquationColors | ( | ) | const |
const std::vector< unsigned int > & DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::GetBoundaryFunctionalColors | ( | ) | const |
const std::vector< unsigned int > & DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::GetDirichletColors | ( | ) | const |
const std::vector< bool > & DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::GetDirichletCompMask | ( | unsigned int | color | ) | const |
const Function< dealdim > & DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::GetDirichletValues | ( | unsigned int | color, |
const std::map< std::string, const dealii::Vector< double > * > & | param_values, | ||
const std::map< std::string, const VECTOR * > & | domain_values | ||
) | const |
const dealii::ConstraintMatrix & DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::GetDoFConstraints | ( | ) | const |
unsigned int DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::GetDoFsPerBlock | ( | unsigned int | b | ) | const |
const std::vector< unsigned int > & DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::GetDoFsPerBlock | ( | ) | const |
std::string DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::GetDoFType | ( | ) | const |
|
inline |
UpdateFlags DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::GetFaceUpdateFlags | ( | ) | const |
const FE< dealdim, dealdim > & DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::GetFESystem | ( | ) | const |
std::string DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::GetFunctionalName | ( | ) | const |
|
inline |
FunctionalPosition maps the name of the cost/auxiliary functionals to their position in ReducedProblemInterface_Base::_functional_values.
TODO This should not be public!
std::string DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::GetFunctionalType | ( | ) | const |
|
inline |
|
inlinevirtual |
unsigned int DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::GetNBlocks | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
unsigned int DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::GetStateNBlocks | ( | ) | const |
|
inline |
|
inline |
Returns a description of the PDE
UpdateFlags DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::GetUpdateFlags | ( | ) | const |
bool DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::HasFaces | ( | ) | const |
This function determines whether a loop over all faces is required or not.
bool DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::HasInterfaces | ( | ) | const |
This function determines whether a loop over all faces is required or not.
bool DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::HasPoints | ( | ) | const |
Do we need the evaluation of PointRhs?
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::InterfaceEquation | ( | const FACEDATACONTAINER & | dc, |
dealii::Vector< double > & | local_vector, | ||
double | scale, | ||
double | scale_ico | ||
) |
Computes the product of two different finite elements on a interior face. It has the same functionality as ElementEquation. We refer to its documentation.
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::InterfaceMatrix | ( | const FACEDATACONTAINER & | dc, |
dealii::FullMatrix< double > & | local_entry_matrix, | ||
double | scale = 1. , |
||
double | scale_ico = 1. |
||
) |
Computes the product of two different finite elements on an interior face. It has the same functionality as ElementMatrix. We refer to its documentation.
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::InterfaceMatrix | ( | const FACEDATACONTAINER & | fdc, |
FullMatrix< double > & | local_entry_matrix, | ||
double | scale, | ||
double | scale_ico | ||
) |
bool DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::NeedTimeFunctional | ( | ) | const |
double DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::PointFunctional | ( | const std::map< std::string, const dealii::Vector< double > * > & | param_values, |
const std::map< std::string, const VECTOR * > & | domain_values | ||
) |
This function returns a functional value of a point. Different types of functionals have been implemented so far: `cost_functional', `aux_functional' and 'functional_for_ee. The first one is needed for optimization problems. The second one can be used for the computation of arbitrary functionals that are defined in points. For example, deflection or pressure values in points. The last one is needed if one watns to use the goal oriented adaptive grid refinement based on the DWR method.
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::PointRhs | ( | const std::map< std::string, const dealii::Vector< double > * > & | param_values, |
const std::map< std::string, const VECTOR * > & | domain_values, | ||
VECTOR & | rhs_vector, | ||
double | scale = 1. |
||
) |
Computes the value of the right-hand side of the problem at hand, if it contains pointevaluations.
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" |
rhs_vector | This vector contains the complete point-rhs. |
scale | A scaling factor which is -1 or 1 depending on the subroutine to compute. |
|
inline |
|
inline |
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::ReInit | ( | std::string | algo_type | ) |
This function calls the ReInit function of the StateSpaceTimeHandler
algo_type | Specifies the type of the algorithm Actually, only the `reduced' algorithm is implemented. |
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::SetBoundaryEquationColors | ( | unsigned int | color | ) |
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::SetBoundaryFunctionalColors | ( | unsigned int | color | ) |
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::SetDirichletBoundaryColors | ( | unsigned int | color, |
const std::vector< bool > & | comp_mask, | ||
const DD * | values | ||
) |
|
inline |
Through this function one sets the functional for the error estimation. The name given by functional_name is looked up in aux_functionals_, so the function assumes that the functional intended for the error estimation is set prior by AddFunctional!
functional_name | The name of the functional for the error estimation. |
|
inline |
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::SetTime | ( | double | time, |
const TimeIterator & | interval | ||
) |
void DOpE::PDEProblemContainer< PDE, DD, SPARSITYPATTERN, VECTOR, dealdim, FE, DH >::SetType | ( | std::string | type, |
unsigned int | num = 0 |
||
) |
Sets the type of the problem.
type | Specifies the type of the problem, like 'state', 'adjoint' etc. |
|
friend |