#include <explicitResidual.hh>

Inheritance diagram for concepts::ExplicitResidual< F >:
concepts::LocalEstimator< F > concepts::Estimator< F > concepts::PiecewiseFormulaBase< F > concepts::OutputOperator concepts::ElementFormula< F, concepts::Realtype< F >::type > concepts::Cloneable concepts::OutputOperator hp1D::ExplicitResidual1D< F > hp2D::ExplicitResidual2D< F >

Public Types

typedef HashMap< Real >::const_iterator const_iterator
 
typedef concepts::Realtype< F >::type G
 
typedef HashMap< Real >::iterator iterator
 
typedef F value_type
 

Public Member Functions

void addHNData (const Set< uint > &nSet)
 Add attributes for homogen neumann boundary conditions. More...
 
void addHNData (uint attrb)
 
void addINData (const Set< uint > &nSet, concepts::ElementFormulaContainer< F > frm)
 Add inhomogen Neumanndata if exist. More...
 
iterator begin ()
 
const_iterator begin () const
 
virtual ExplicitResidual< F > * clone () const =0
 Virtual constructor. More...
 
virtual ElementFormula< F, concepts::Realtype< F >::type > * clone () const=0
 Virtual copy constructor. More...
 
virtual F & dflt_value ()
 Gives default value. More...
 
virtual const F & dflt_value () const
 Gives default value. More...
 
iterator end ()
 
const_iterator end () const
 
const Real getGlobal () const
 
uint nelm () const
 
virtual F operator() (const Connector &cntr, const Real p, const Real t=0.0) const
 Gives the value in an particular cell on a particular point. More...
 
virtual F operator() (const Connector &cntr, const Real2d &p, const Real t=0.0) const
 
virtual F operator() (const Connector &cntr, const Real3d &p, const Real t=0.0) const
 
virtual F operator() (const ElementWithCell< concepts::Realtype< F >::type > &elm, const Real p, const Real t=0.0) const=0
 Evaluates the formula. More...
 
virtual F operator() (const ElementWithCell< concepts::Realtype< F >::type > &elm, const Real2d &p, const Real t=0.0) const=0
 Evaluates the formula. More...
 
virtual F operator() (const ElementWithCell< concepts::Realtype< F >::type > &elm, const Real3d &p, const Real t=0.0) const=0
 Evaluates the formula. More...
 
virtual F operator() (const ElementWithCell< G > &elm, const Real p, const Real t=0.0) const
 
virtual F operator() (const ElementWithCell< G > &elm, const Real2d &p, const Real t=0.0) const
 
virtual F operator() (const ElementWithCell< G > &elm, const Real3d &p, const Real t=0.0) const
 
const Real operator() (uint key) const
 Return the error on given local element, that belongs to the input key. More...
 
virtual ~ExplicitResidual ()
 

Protected Member Functions

 ExplicitResidual (const SpaceOnCells< F > &spc, const Vector< F > &sol, const ElementFormulaContainer< F > res)
 Constructur of the explicit residual a posteriori error estimator. More...
 
virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream. More...
 

Protected Attributes

Sequence< ElementFormulaContainer< F > > frms_
 
Real globError_
 
Set< uint > hNAttrbs_
 
Sequence< Set< uint > > iNAttrbs_
 
concepts::HashMap< ReallocError_
 
const ElementFormulaContainer< F > res_
 
const concepts::Vector< F > & sol_
 
const concepts::SpaceOnCells< F > & spc_
 

Private Member Functions

virtual void computeError_ (const ElementFormulaContainer< F > &res, HashMap< Real > &jumpResidual)=0
 
virtual void computeJumpPart_ (HashMap< Real > &jumpResidual) const =0
 

Private Attributes

dflt_value_
 default value More...
 

Detailed Description

template<class F>
class concepts::ExplicitResidual< F >

Definition at line 21 of file explicitResidual.hh.

Member Typedef Documentation

◆ const_iterator

template<class F >
typedef HashMap<Real>::const_iterator concepts::LocalEstimator< F >::const_iterator
inherited

Definition at line 96 of file estimator.hh.

◆ G

template<typename F >
typedef concepts::Realtype<F>::type concepts::PiecewiseFormulaBase< F >::G
inherited

Definition at line 45 of file piecewiseFormula.hh.

◆ iterator

template<class F >
typedef HashMap<Real>::iterator concepts::LocalEstimator< F >::iterator
inherited

Definition at line 95 of file estimator.hh.

◆ value_type

typedef F concepts::ElementFormula< F, concepts::Realtype< F >::type >::value_type
inherited

Definition at line 37 of file elementFormula.hh.

Constructor & Destructor Documentation

◆ ~ExplicitResidual()

template<class F >
virtual concepts::ExplicitResidual< F >::~ExplicitResidual ( )
inlinevirtual

Definition at line 25 of file explicitResidual.hh.

◆ ExplicitResidual()

template<class F >
concepts::ExplicitResidual< F >::ExplicitResidual ( const SpaceOnCells< F > &  spc,
const Vector< F > &  sol,
const ElementFormulaContainer< F >  res 
)
inlineprotected

Constructur of the explicit residual a posteriori error estimator.

The input residual is builded outside the class. For given elliptic PDE Lu = f, res = f - L(u_h), where u_h is the FEM approximation.

Example: L = -Laplace + c(x)*ID, use hp2D::Functions as Laplacian, Value and ParsedFormulas

Parameters
spcUnderlying 2d Space, i.e. a AdaptiveSpace
solsolution vector of the approximated FEM solution
resstrong Residual.

Definition at line 67 of file explicitResidual.hh.

Member Function Documentation

◆ addHNData() [1/2]

template<class F >
void concepts::ExplicitResidual< F >::addHNData ( const Set< uint > &  nSet)
inline

Add attributes for homogen neumann boundary conditions.

Definition at line 41 of file explicitResidual.hh.

◆ addHNData() [2/2]

template<class F >
void concepts::ExplicitResidual< F >::addHNData ( uint  attrb)
inline

Definition at line 44 of file explicitResidual.hh.

◆ addINData()

template<class F >
void concepts::ExplicitResidual< F >::addINData ( const Set< uint > &  nSet,
concepts::ElementFormulaContainer< F >  frm 
)
inline

Add inhomogen Neumanndata if exist.

This is needed for computing the jump terms

Definition at line 33 of file explicitResidual.hh.

◆ begin() [1/2]

template<class F >
iterator concepts::LocalEstimator< F >::begin ( )
inlineinherited

Definition at line 100 of file estimator.hh.

◆ begin() [2/2]

template<class F >
const_iterator concepts::LocalEstimator< F >::begin ( ) const
inlineinherited

Definition at line 104 of file estimator.hh.

◆ clone() [1/2]

template<class F >
virtual ExplicitResidual<F>* concepts::ExplicitResidual< F >::clone ( ) const
pure virtual

Virtual constructor.

Returns a pointer to a copy of itself. The caller is responsible to destroy this copy.

Implements concepts::LocalEstimator< F >.

Implemented in hp2D::ExplicitResidual2D< F >.

◆ clone() [2/2]

virtual ElementFormula<F,concepts::Realtype< F >::type >* concepts::ElementFormula< F, concepts::Realtype< F >::type >::clone
pure virtualinherited

Virtual copy constructor.

◆ computeError_()

template<class F >
virtual void concepts::ExplicitResidual< F >::computeError_ ( const ElementFormulaContainer< F > &  res,
HashMap< Real > &  jumpResidual 
)
privatepure virtual

◆ computeJumpPart_()

template<class F >
virtual void concepts::ExplicitResidual< F >::computeJumpPart_ ( HashMap< Real > &  jumpResidual) const
privatepure virtual

◆ dflt_value() [1/2]

template<typename F >
virtual F& concepts::PiecewiseFormulaBase< F >::dflt_value ( )
inlinevirtualinherited

Gives default value.

Definition at line 83 of file piecewiseFormula.hh.

◆ dflt_value() [2/2]

template<typename F >
virtual const F& concepts::PiecewiseFormulaBase< F >::dflt_value ( ) const
inlinevirtualinherited

Gives default value.

Definition at line 81 of file piecewiseFormula.hh.

◆ end() [1/2]

template<class F >
iterator concepts::LocalEstimator< F >::end ( )
inlineinherited

Definition at line 108 of file estimator.hh.

◆ end() [2/2]

template<class F >
const_iterator concepts::LocalEstimator< F >::end ( ) const
inlineinherited

Definition at line 112 of file estimator.hh.

◆ getGlobal()

template<typename F >
const Real concepts::Estimator< F >::getGlobal ( ) const
inlineinherited

Definition at line 22 of file estimator.hh.

◆ info()

template<class F >
virtual std::ostream& concepts::ExplicitResidual< F >::info ( std::ostream &  os) const
inlineprotectedvirtual

Returns information in an output stream.

Implements concepts::LocalEstimator< F >.

Reimplemented in hp2D::ExplicitResidual2D< F >, and hp1D::ExplicitResidual1D< F >.

Definition at line 70 of file explicitResidual.hh.

◆ nelm()

template<class F >
uint concepts::LocalEstimator< F >::nelm ( ) const
inlineinherited

Definition at line 116 of file estimator.hh.

◆ operator()() [1/10]

template<class F >
virtual F concepts::LocalEstimator< F >::operator() ( const Connector cntr,
const Real  p,
const Real  t = 0.0 
) const
inlinevirtualinherited

Gives the value in an particular cell on a particular point.

Parameters
celltopological cell
pphysical coordinates
ttime

Implements concepts::PiecewiseFormulaBase< F >.

Definition at line 132 of file estimator.hh.

◆ operator()() [2/10]

template<class F >
virtual F concepts::LocalEstimator< F >::operator() ( const Connector cntr,
const Real2d p,
const Real  t = 0.0 
) const
inlinevirtualinherited

Implements concepts::PiecewiseFormulaBase< F >.

Definition at line 135 of file estimator.hh.

◆ operator()() [3/10]

template<class F >
virtual F concepts::LocalEstimator< F >::operator() ( const Connector cntr,
const Real3d p,
const Real  t = 0.0 
) const
inlinevirtualinherited

Implements concepts::PiecewiseFormulaBase< F >.

Definition at line 138 of file estimator.hh.

◆ operator()() [4/10]

virtual F concepts::ElementFormula< F, concepts::Realtype< F >::type >::operator() ( const ElementWithCell< concepts::Realtype< F >::type > &  elm,
const Real  p,
const Real  t = 0.0 
) const
pure virtualinherited

Evaluates the formula.

Parameters
elmElement
pPoint in space in local element coordinates
tPoint in time

◆ operator()() [5/10]

virtual F concepts::ElementFormula< F, concepts::Realtype< F >::type >::operator() ( const ElementWithCell< concepts::Realtype< F >::type > &  elm,
const Real2d p,
const Real  t = 0.0 
) const
pure virtualinherited

Evaluates the formula.

Parameters
elmElement
pPoint in space in local element coordinates
tPoint in time

◆ operator()() [6/10]

virtual F concepts::ElementFormula< F, concepts::Realtype< F >::type >::operator() ( const ElementWithCell< concepts::Realtype< F >::type > &  elm,
const Real3d p,
const Real  t = 0.0 
) const
pure virtualinherited

Evaluates the formula.

Parameters
elmElement
pPoint in space in local element coordinates
tPoint in time

◆ operator()() [7/10]

template<typename F >
virtual F concepts::PiecewiseFormulaBase< F >::operator() ( const ElementWithCell< G > &  elm,
const Real  p,
const Real  t = 0.0 
) const
inlinevirtualinherited

Definition at line 52 of file piecewiseFormula.hh.

◆ operator()() [8/10]

template<typename F >
virtual F concepts::PiecewiseFormulaBase< F >::operator() ( const ElementWithCell< G > &  elm,
const Real2d p,
const Real  t = 0.0 
) const
inlinevirtualinherited

Definition at line 57 of file piecewiseFormula.hh.

◆ operator()() [9/10]

template<typename F >
virtual F concepts::PiecewiseFormulaBase< F >::operator() ( const ElementWithCell< G > &  elm,
const Real3d p,
const Real  t = 0.0 
) const
inlinevirtualinherited

Definition at line 63 of file piecewiseFormula.hh.

◆ operator()() [10/10]

template<class F >
const Real concepts::LocalEstimator< F >::operator() ( uint  key) const
inlineinherited

Return the error on given local element, that belongs to the input key.

Definition at line 123 of file estimator.hh.

Member Data Documentation

◆ dflt_value_

template<typename F >
F concepts::PiecewiseFormulaBase< F >::dflt_value_
privateinherited

default value

Definition at line 88 of file piecewiseFormula.hh.

◆ frms_

template<class F >
Sequence<ElementFormulaContainer<F> > concepts::ExplicitResidual< F >::frms_
protected

Definition at line 77 of file explicitResidual.hh.

◆ globError_

template<typename F >
Real concepts::Estimator< F >::globError_
protectedinherited

Definition at line 37 of file estimator.hh.

◆ hNAttrbs_

template<class F >
Set<uint> concepts::ExplicitResidual< F >::hNAttrbs_
protected

Definition at line 81 of file explicitResidual.hh.

◆ iNAttrbs_

template<class F >
Sequence<Set<uint> > concepts::ExplicitResidual< F >::iNAttrbs_
protected

Definition at line 79 of file explicitResidual.hh.

◆ locError_

template<class F >
concepts::HashMap<Real> concepts::LocalEstimator< F >::locError_
protectedinherited

Definition at line 151 of file estimator.hh.

◆ res_

template<class F >
const ElementFormulaContainer<F> concepts::ExplicitResidual< F >::res_
protected

Definition at line 74 of file explicitResidual.hh.

◆ sol_

template<typename F >
const concepts::Vector<F>& concepts::Estimator< F >::sol_
protectedinherited

Definition at line 35 of file estimator.hh.

◆ spc_

template<typename F >
const concepts::SpaceOnCells<F>& concepts::Estimator< F >::spc_
protectedinherited

Definition at line 33 of file estimator.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich