DOpE
Public Member Functions | Protected Member Functions
DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR > Class Template Reference

#include <higher_order_dwrc.h>

Inheritance diagram for DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >:
DOpE::DWRDataContainer< STH, IDC, EDC, FDC, VECTOR > DOpE::DWRDataContainerBase< VECTOR >

Public Member Functions

 HigherOrderDWRContainer (STH &higher_order_sth, IDC &higher_order_idc, DOpEtypes::VectorStorageType state_behavior, ParameterReader &param_reader, DOpEtypes::EETerms ee_terms=DOpEtypes::EETerms::mixed, DOpEtypes::ResidualEvaluation res_eval=DOpEtypes::strong_residual)
 
virtual ~HigherOrderDWRContainer ()
 
std::string GetName () const
 
template<class STH2 >
void Initialize (STH2 *sth, unsigned int state_n_blocks, std::vector< unsigned int > &state_block_component)
 
void ReInit (unsigned int n_elements)
 
STH & GetWeightSTH ()
 
const STH & GetWeightSTH () const
 
IDC & GetWeightIDC ()
 
const IDC & GetWeightIDC () const
 
StateVector< VECTOR > & GetPI_h_u ()
 
StateVector< VECTOR > & GetPI_h_z ()
 
ControlVector< VECTOR > & GetPI_h_q ()
 
void PreparePI_h_u (const StateVector< VECTOR > &u)
 
void PreparePI_h_u (const VECTOR &u)
 
void PreparePI_h_z (const StateVector< VECTOR > &z)
 
void PreparePI_h_q (const ControlVector< VECTOR > &)
 
virtual EDC & GetElementWeight () const
 
virtual FDC & GetFaceWeight () const
 
bool NeedDual () const
 
virtual
DOpEtypes::WeightComputation 
GetWeightComputation () const
 
virtual
DOpEtypes::ResidualEvaluation 
GetResidualEvaluation () const
 
void ResidualModifier (double &)
 
void VectorResidualModifier (dealii::Vector< double > &)
 
- Public Member Functions inherited from DOpE::DWRDataContainer< STH, IDC, EDC, FDC, VECTOR >
 DWRDataContainer (DOpEtypes::EETerms ee_terms=DOpEtypes::EETerms::mixed)
 
virtual ~DWRDataContainer ()
 
- Public Member Functions inherited from DOpE::DWRDataContainerBase< VECTOR >
 DWRDataContainerBase (DOpEtypes::EETerms ee_terms=DOpEtypes::EETerms::mixed)
 
virtual ~DWRDataContainerBase ()
 
void ReleaseLock ()
 
double GetError () const
 
double GetPrimalError () const
 
double GetDualError () const
 
double GetControlError () const
 
const Vector< double > & GetErrorIndicators () const
 
Vector< double > & GetPrimalErrorIndicators ()
 
const Vector< double > & GetPrimalErrorIndicators () const
 
Vector< double > & GetDualErrorIndicators ()
 
const Vector< double > & GetDualErrorIndicators () const
 
Vector< double > & GetControlErrorIndicators ()
 
const Vector< double > & GetControlErrorIndicators () const
 
Vector< double > & GetErrorIndicators (unsigned int i)
 
const Vector< double > & GetErrorIndicators (unsigned int i) const
 
unsigned int GetNErrorComps () const
 
std::vector< const Vector
< double > * > 
GetAllErrorIndicators () const
 
DOpEtypes::EETerms GetEETerms () const
 
template<class PROBLEM , class INTEGRATOR >
void ComputeRefinementIndicators (PROBLEM &problem, INTEGRATOR &integrator)
 
const std::map< std::string,
const VECTOR * > & 
GetWeightData () const
 
void ClearWeightData ()
 
void PrepareWeights (const StateVector< VECTOR > &u, const StateVector< VECTOR > &z)
 
void PrepareWeights (const ControlVector< VECTOR > &q)
 

Protected Member Functions

STH & GetSTH ()
 
STH & GetHigherOrderSTH ()
 
const STH & GetHigherOrderSTH () const
 
IDC & GetHigherOrderIDC ()
 
const IDC & GetHigherOrderIDC () const
 
- Protected Member Functions inherited from DOpE::DWRDataContainerBase< VECTOR >
void AddWeightData (std::string name, const VECTOR *new_data)
 

Detailed Description

template<class STH, class IDC, class EDC, class FDC, typename VECTOR>
class DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >

This class implements the missing pieces of DWRDataContainer for the case of the DWRMethod with higher order interpolation of the weights and evaluation of strong element and jump residuals.

Constructor & Destructor Documentation

template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::HigherOrderDWRContainer ( STH &  higher_order_sth,
IDC &  higher_order_idc,
DOpEtypes::VectorStorageType  state_behavior,
ParameterReader param_reader,
DOpEtypes::EETerms  ee_terms = DOpEtypes::EETerms::mixed,
DOpEtypes::ResidualEvaluation  res_eval = DOpEtypes::strong_residual 
)
inline

Constructor.

Parameters
higher_order_sthThe STH we use for the higher order interpolation.
higher_order_idcThe IDC we use for the higher order interpolation. Contains also the quadrature rules
state_behaviorBehaviour of the StateVectors.
param_readerThe parameter reader we use here.
ee_termsWhich part of the error estimators do we want to compute? (primal, dual, both).
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
virtual DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::~HigherOrderDWRContainer ( )
inlinevirtual

Member Function Documentation

template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
virtual EDC& DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::GetElementWeight ( ) const
inlinevirtual

Implementation of virtual method from base class.

Implements DOpE::DWRDataContainer< STH, IDC, EDC, FDC, VECTOR >.

template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
virtual FDC& DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::GetFaceWeight ( ) const
inlinevirtual

Implementation of virtual method from base class.

Implements DOpE::DWRDataContainer< STH, IDC, EDC, FDC, VECTOR >.

template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
IDC& DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::GetHigherOrderIDC ( )
inlineprotected
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
const IDC& DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::GetHigherOrderIDC ( ) const
inlineprotected
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
STH& DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::GetHigherOrderSTH ( )
inlineprotected
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
const STH& DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::GetHigherOrderSTH ( ) const
inlineprotected
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
std::string DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::GetName ( ) const
inlinevirtual
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
ControlVector<VECTOR>& DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::GetPI_h_q ( )
inlinevirtual
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
StateVector<VECTOR>& DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::GetPI_h_u ( )
inlinevirtual
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
StateVector<VECTOR>& DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::GetPI_h_z ( )
inlinevirtual
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
virtual DOpEtypes::ResidualEvaluation DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::GetResidualEvaluation ( ) const
inlinevirtual

Implementation of virtual method from base class.

Implements DOpE::DWRDataContainerBase< VECTOR >.

template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
STH& DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::GetSTH ( )
inlineprotected
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
virtual DOpEtypes::WeightComputation DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::GetWeightComputation ( ) const
inlinevirtual

Implementation of virtual method from base class.

Implements DOpE::DWRDataContainerBase< VECTOR >.

template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
IDC& DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::GetWeightIDC ( )
inlinevirtual
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
const IDC& DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::GetWeightIDC ( ) const
inlinevirtual
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
STH& DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::GetWeightSTH ( )
inlinevirtual
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
const STH& DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::GetWeightSTH ( ) const
inlinevirtual
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
template<class STH2 >
void DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::Initialize ( STH2 *  sth,
unsigned int  state_n_blocks,
std::vector< unsigned int > &  state_block_component 
)
inline
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
bool DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::NeedDual ( ) const
inlinevirtual

Implementation of virtual method from base class.

Implements DOpE::DWRDataContainerBase< VECTOR >.

template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
void DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::PreparePI_h_q ( const ControlVector< VECTOR > &  )
inlinevirtual

Makes the patchwise higher order interpolant of the control q. This is needed as a weight for the control residual.

Implements DOpE::DWRDataContainerBase< VECTOR >.

template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
void DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::PreparePI_h_u ( const StateVector< VECTOR > &  u)
inlinevirtual

Makes the patchwise higher order interpolant of the primal soltion u. This is needed as a weight for the dual residual.

Implements DOpE::DWRDataContainerBase< VECTOR >.

template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
void DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::PreparePI_h_u ( const VECTOR &  u)
inline
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
void DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::PreparePI_h_z ( const StateVector< VECTOR > &  z)
inlinevirtual

Makes the patchwise higher order interpolant of the dual solution z. This is needed as a weight for the primal residual.

Implements DOpE::DWRDataContainerBase< VECTOR >.

template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
void DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::ReInit ( unsigned int  n_elements)
virtual

ReInits the DWRDataContainer, the higher order STH as well as the weight-vectors.

Reimplemented from DOpE::DWRDataContainerBase< VECTOR >.

template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
void DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::ResidualModifier ( double &  )
inline

This should be applied to the residual in the integration Here we don't do anything because it should be the identity for DWR

template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
void DOpE::HigherOrderDWRContainer< STH, IDC, EDC, FDC, VECTOR >::VectorResidualModifier ( dealii::Vector< double > &  )
inline

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