24 #ifndef RESIDUAL_ERROR_H_
25 #define RESIDUAL_ERROR_H_
28 #include <deal.II/fe/fe_tools.h>
37 template<
typename VECTOR>
60 template<
class EDC,
typename VECTOR>
66 template<
class FDC,
typename VECTOR>
77 template<
class STH,
typename VECTOR,
int dim>
115 return "L2-Residual-Estimator";
120 std::vector<unsigned int>& state_block_component)
122 state_n_blocks_ = state_n_blocks;
123 state_block_component_ = &state_block_component;
131 ReInit(
unsigned int n_elements);
148 "L2ResidualErrorContainer::PreparePI_h_q");
183 "HigherOrderDWRContainer::PreparePI_h_q");
221 res = res * res * weight_;
227 for (
unsigned int i = 0; i < res.size(); i++)
228 res(i) = res(i) * res(i) * weight_;
239 weight_ = h * h * h * h;
249 template<
template<
int,
int>
class DH>
254 VectorTools::interpolate(sth_.GetMapping(),
255 *(
static_cast<const DH<dim, dim>*
>(dofh)),
256 ConstantFunction<dim>(1., dofh->get_fe().n_components()), vals);
260 unsigned int state_n_blocks_;
261 std::vector<unsigned int>* state_block_component_;
269 template<
class STH,
typename VECTOR,
int dim>
278 GetPI_h_z().ReInit();
283 GetPI_h_u().ReInit();
293 template<
class STH,
typename VECTOR,
int dim>
330 return "H1-Residual-Estimator";
335 std::vector<unsigned int>& state_block_component)
337 state_n_blocks_ = state_n_blocks;
338 state_block_component_ = &state_block_component;
346 ReInit(
unsigned int n_elements);
363 "H1ResidualErrorContainer::PreparePI_h_q");
398 "HigherOrderDWRContainer::PreparePI_h_q");
436 res = res * res * weight_;
441 for (
unsigned int i = 0; i < res.size(); i++)
442 res(i) = res(i) * res(i) * weight_;
463 template<
template<
int,
int>
class DH>
468 VectorTools::interpolate(sth_.GetMapping(),
470 ConstantFunction<dim>(1., dofh->get_fe().n_components()), vals);
474 unsigned int state_n_blocks_;
475 std::vector<unsigned int>* state_block_component_;
483 template<
class STH,
typename VECTOR,
int dim>
492 GetPI_h_z().ReInit();
497 GetPI_h_u().ReInit();
Definition: dopetypes.h:68
void Initialize(unsigned int state_n_blocks, std::vector< unsigned int > &state_block_component)
Definition: residualestimator.h:119
void BuildConstantWeight(const DOpEWrapper::DoFHandler< dim, DH > *dofh, VECTOR &vals)
Definition: residualestimator.h:465
H1ResidualErrorContainer(STH &sth, DOpEtypes::VectorStorageType state_behavior, ParameterReader ¶m_reader, DOpEtypes::EETerms ee_terms=DOpEtypes::EETerms::mixed)
Definition: residualestimator.h:297
ResidualErrorContainer(DOpEtypes::EETerms ee_terms=DOpEtypes::EETerms::mixed)
Definition: residualestimator.h:41
bool NeedDual() const
Definition: residualestimator.h:406
void InitElement(double h)
Definition: residualestimator.h:451
StateVector< VECTOR > & GetPI_h_u()
Definition: residualestimator.h:134
std::string GetName() const
Definition: residualestimator.h:328
Definition: parameterreader.h:36
void PreparePI_h_z(const StateVector< VECTOR > &)
Definition: residualestimator.h:384
StateVector< VECTOR > & GetPI_h_z()
Definition: residualestimator.h:355
void InitElement(double h)
Definition: residualestimator.h:237
virtual DOpEtypes::ResidualEvaluation GetResidualEvaluation() const
Definition: residualestimator.h:209
Definition: residualestimator.h:294
Definition: dopetypes.h:68
virtual DOpEtypes::WeightComputation GetWeightComputation() const
Definition: residualestimator.h:200
const DOFHANDLER< dim, dim > & GetDEALDoFHandler() const
Definition: dofhandler_wrapper.h:69
std::string GetName() const
Definition: residualestimator.h:113
void ReInit(unsigned int n_elements)
Definition: residualestimator.h:271
void PreparePI_h_z(const StateVector< VECTOR > &)
Definition: residualestimator.h:169
Definition: dopetypes.h:82
void PreparePI_h_q(const ControlVector< VECTOR > &)
Definition: residualestimator.h:395
Definition: controlvector.h:49
void VectorResidualModifier(dealii::Vector< double > &res)
Definition: residualestimator.h:225
EDC * ExtractEDC(const DWRDataContainer< STH, IDC, EDC, FDC, VECTOR > &dwrc)
Definition: dwrdatacontainer.h:592
virtual DOpEtypes::ResidualEvaluation GetResidualEvaluation() const
Definition: residualestimator.h:424
void PreparePI_h_q(const ControlVector< VECTOR > &)
Definition: residualestimator.h:180
void InitFace(double h)
Definition: residualestimator.h:232
void InitFace(double h)
Definition: residualestimator.h:446
Definition: dopetypes.h:93
L2ResidualErrorContainer(STH &sth, DOpEtypes::VectorStorageType state_behavior, ParameterReader ¶m_reader, DOpEtypes::EETerms ee_terms=DOpEtypes::EETerms::mixed)
Definition: residualestimator.h:81
void ReInit(unsigned int n_elements)
Definition: residualestimator.h:485
DOpEtypes::EETerms GetEETerms() const
Definition: dwrdatacontainer.h:365
void BuildConstantWeight(const DOpEWrapper::DoFHandler< dim, DH > *dofh, VECTOR &vals)
Definition: residualestimator.h:251
EETerms
Definition: dopetypes.h:66
Definition: dopetypes.h:68
virtual ~L2ResidualErrorContainer()
Definition: residualestimator.h:103
STH & GetSTH()
Definition: residualestimator.h:458
Definition: statevector.h:50
virtual ~H1ResidualErrorContainer()
Definition: residualestimator.h:318
ControlVector< VECTOR > & GetPI_h_q()
Definition: residualestimator.h:145
ResidualEvaluation
Definition: dopetypes.h:91
STH & GetSTH()
Definition: residualestimator.h:244
void VectorResidualModifier(dealii::Vector< double > &res)
Definition: residualestimator.h:439
void Initialize(unsigned int state_n_blocks, std::vector< unsigned int > &state_block_component)
Definition: residualestimator.h:334
VectorStorageType
Definition: dopetypes.h:120
void PreparePI_h_u(const StateVector< VECTOR > &)
Definition: residualestimator.h:157
Definition: residualestimator.h:38
WeightComputation
Definition: dopetypes.h:80
FDC * ExtractFDC(const DWRDataContainer< STH, IDC, EDC, FDC, VECTOR > &dwrc)
Definition: dwrdatacontainer.h:598
StateVector< VECTOR > & GetPI_h_u()
Definition: residualestimator.h:349
void ResidualModifier(double &res)
Definition: residualestimator.h:434
Definition: dwrdatacontainer.h:50
virtual void ReInit(unsigned int n_elements)
Definition: dwrdatacontainer.h:530
virtual void InitFace(double)=0
void ResidualModifier(double &res)
Definition: residualestimator.h:219
ControlVector< VECTOR > & GetPI_h_q()
Definition: residualestimator.h:360
bool NeedDual() const
Definition: residualestimator.h:191
virtual DOpEtypes::WeightComputation GetWeightComputation() const
Definition: residualestimator.h:415
Definition: dopeexception.h:35
Definition: residualestimator.h:78
StateVector< VECTOR > & GetPI_h_z()
Definition: residualestimator.h:140
virtual void InitElement(double)=0
void PreparePI_h_u(const StateVector< VECTOR > &)
Definition: residualestimator.h:372