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

#include <higher_order_dwrc_control.h>

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

Public Member Functions

 HigherOrderDWRContainerControl (STH &higher_order_sth, IDC &higher_order_idc, DOpEtypes::VectorStorageType control_behavior, DOpEtypes::VectorStorageType state_behavior, ParameterReader &param_reader, DOpEtypes::EETerms ee_terms=DOpEtypes::EETerms::mixed, DOpEtypes::ResidualEvaluation res_eval=DOpEtypes::strong_residual)
 
virtual ~HigherOrderDWRContainerControl ()
 
std::string GetName () const
 
template<class STH2 >
void Initialize (STH2 *sth, unsigned int control_n_blocks, std::vector< unsigned int > &control_block_component, 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 > &q)
 
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::HigherOrderDWRContainerControl< 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 residuals. This version also includes weights for the control

Constructor & Destructor Documentation

template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
DOpE::HigherOrderDWRContainerControl< STH, IDC, EDC, FDC, VECTOR >::HigherOrderDWRContainerControl ( STH &  higher_order_sth,
IDC &  higher_order_idc,
DOpEtypes::VectorStorageType  control_behavior,
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
control_behaviorBehaviour of the ControlVectors.
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::HigherOrderDWRContainerControl< STH, IDC, EDC, FDC, VECTOR >::~HigherOrderDWRContainerControl ( )
inlinevirtual

Member Function Documentation

template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
virtual EDC& DOpE::HigherOrderDWRContainerControl< 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::HigherOrderDWRContainerControl< 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::HigherOrderDWRContainerControl< STH, IDC, EDC, FDC, VECTOR >::GetHigherOrderIDC ( )
inlineprotected
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
const IDC& DOpE::HigherOrderDWRContainerControl< STH, IDC, EDC, FDC, VECTOR >::GetHigherOrderIDC ( ) const
inlineprotected
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
STH& DOpE::HigherOrderDWRContainerControl< STH, IDC, EDC, FDC, VECTOR >::GetHigherOrderSTH ( )
inlineprotected
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
const STH& DOpE::HigherOrderDWRContainerControl< STH, IDC, EDC, FDC, VECTOR >::GetHigherOrderSTH ( ) const
inlineprotected
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
std::string DOpE::HigherOrderDWRContainerControl< STH, IDC, EDC, FDC, VECTOR >::GetName ( ) const
inlinevirtual
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
ControlVector<VECTOR>& DOpE::HigherOrderDWRContainerControl< STH, IDC, EDC, FDC, VECTOR >::GetPI_h_q ( )
inlinevirtual
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
StateVector<VECTOR>& DOpE::HigherOrderDWRContainerControl< STH, IDC, EDC, FDC, VECTOR >::GetPI_h_u ( )
inlinevirtual
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
StateVector<VECTOR>& DOpE::HigherOrderDWRContainerControl< STH, IDC, EDC, FDC, VECTOR >::GetPI_h_z ( )
inlinevirtual
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
virtual DOpEtypes::ResidualEvaluation DOpE::HigherOrderDWRContainerControl< 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::HigherOrderDWRContainerControl< STH, IDC, EDC, FDC, VECTOR >::GetSTH ( )
inlineprotected
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
virtual DOpEtypes::WeightComputation DOpE::HigherOrderDWRContainerControl< 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::HigherOrderDWRContainerControl< STH, IDC, EDC, FDC, VECTOR >::GetWeightIDC ( )
inlinevirtual
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
const IDC& DOpE::HigherOrderDWRContainerControl< STH, IDC, EDC, FDC, VECTOR >::GetWeightIDC ( ) const
inlinevirtual
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
STH& DOpE::HigherOrderDWRContainerControl< STH, IDC, EDC, FDC, VECTOR >::GetWeightSTH ( )
inlinevirtual
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
const STH& DOpE::HigherOrderDWRContainerControl< STH, IDC, EDC, FDC, VECTOR >::GetWeightSTH ( ) const
inlinevirtual
template<class STH , class IDC , class EDC , class FDC , typename VECTOR >
template<class STH2 >
void DOpE::HigherOrderDWRContainerControl< STH, IDC, EDC, FDC, VECTOR >::Initialize ( STH2 *  sth,
unsigned int  control_n_blocks,
std::vector< unsigned int > &  control_block_component,
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::HigherOrderDWRContainerControl< 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::HigherOrderDWRContainerControl< STH, IDC, EDC, FDC, VECTOR >::PreparePI_h_q ( const ControlVector< VECTOR > &  q)
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::HigherOrderDWRContainerControl< 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::HigherOrderDWRContainerControl< 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::HigherOrderDWRContainerControl< 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::HigherOrderDWRContainerControl< 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::HigherOrderDWRContainerControl< 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::HigherOrderDWRContainerControl< STH, IDC, EDC, FDC, VECTOR >::VectorResidualModifier ( dealii::Vector< double > &  )
inline

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