ug4
|
Error estimator data class for discretizations with more than one unknown. More...
#include <err_est_data.h>
Public Member Functions | |
virtual void | add (SmartPtr< TErrEstData > spEed, const char *fct) |
adding error estimator data objects | |
virtual void | alloc_err_est_data (ConstSmartPtr< SurfaceView > spSV, const GridLevel &gl) |
virtual function to allocate data structures for the error estimator | |
TErrEstData * | get (size_t uid) |
accessing the underlying error estimator data objects via function id | |
virtual number | get_elem_error_indicator (GridObject *elem, const MathVector< dim > vCornerCoords[]) |
calculate L2 integrals | |
MultipleErrEstData (ConstSmartPtr< ApproximationSpace< TDomain > > approx) | |
class constructor | |
size_t | num () const |
getting the number of underlying error estimator data objects | |
virtual void | release_err_est_data () |
virtual function to release data structures for the error estimator | |
virtual void | summarize_err_est_data (SmartPtr< TDomain > spDomain) |
virtual function called after the computation of the error estimator data in all the elements | |
virtual | ~MultipleErrEstData () |
virtual class destructor | |
![]() | |
bool | consider_me () const |
virtual function granting get access to the m_consider member | |
IErrEstData () | |
class constructor | |
number | scaling_factor () |
get scaling factor | |
void | set_consider_me (bool b) |
whether or not this instance is to be considered by domainDisc | |
void | set_scaling_factor (number scale) |
set scaling factor for final error calculation | |
virtual | ~IErrEstData () |
virtual class destructor | |
Static Public Attributes | |
static const int | dim = TDomain::dim |
world dimension | |
![]() | |
static const int | dim = TDomain::dim |
world dimension | |
Protected Attributes | |
FunctionGroup | m_fctGrp |
function group (in order to map fcts to error estimator objects) | |
ConstSmartPtr< ApproximationSpace< TDomain > > | m_spApprox |
approx space | |
std::vector< TErrEstData * > | m_vEed |
Error estimator data class for discretizations with more than one unknown.
This class is a kind of wrapper for a bundle of error estimator objects. It can be useful if a discretization depends on more than one unknown and needs to compute error estimators for both of them: One can only pass one error estimator to any ElemDisc, but at the same time it is necessary to calculate the errors for different unknowns separately!
This class will not actually do anything, but pass any request on to the underlying objects. As they most probably figure in some other ElemDisc of their corresponding unknown, the considerMe property is set to false by default.
Make sure that the error estimation routines of any elem disc that is given this MultipleErrEstData object write to the correct sub-objects (i.e. ErrEstData objects)! There has to be some kind of mapping between the unknowns of the elem disc and the order in which the single-function ErrEstData objects are added to this object. This will typically be the exact same order. So try not to add the same object of MultipleErrEstData to elem discs with unknowns defined in a different order!
The template parameter TErrEstData must implement the IErrEstData interface.
TDomain | domain type |
|
inline |
class constructor
References ug::IErrEstData< TDomain >::set_consider_me().
|
inlinevirtual |
virtual class destructor
|
inlinevirtual |
adding error estimator data objects
Reimplemented in ug::MultipleSideAndElemErrEstData< TDomain >.
References ug::FunctionGroup::add(), ug::FunctionGroup::contains(), SmartPtr< T, FreePolicy >::get(), ug::MultipleErrEstData< TDomain, TErrEstData >::m_fctGrp, ug::MultipleErrEstData< TDomain, TErrEstData >::m_spApprox, ug::MultipleErrEstData< TDomain, TErrEstData >::m_vEed, UG_CATCH_THROW, and UG_THROW.
|
virtual |
virtual function to allocate data structures for the error estimator
Implements ug::IErrEstData< TDomain >.
|
inline |
accessing the underlying error estimator data objects via function id
References ug::FunctionGroup::contains(), ug::FunctionGroup::local_index(), ug::MultipleErrEstData< TDomain, TErrEstData >::m_fctGrp, ug::MultipleErrEstData< TDomain, TErrEstData >::m_spApprox, ug::MultipleErrEstData< TDomain, TErrEstData >::m_vEed, name, and UG_THROW.
|
virtual |
calculate L2 integrals
Implements ug::IErrEstData< TDomain >.
|
inline |
getting the number of underlying error estimator data objects
References ug::MultipleErrEstData< TDomain, TErrEstData >::m_vEed.
|
virtual |
virtual function to release data structures for the error estimator
Implements ug::IErrEstData< TDomain >.
|
virtual |
virtual function called after the computation of the error estimator data in all the elements
Implements ug::IErrEstData< TDomain >.
|
static |
world dimension
|
protected |
function group (in order to map fcts to error estimator objects)
Referenced by ug::MultipleErrEstData< TDomain, TErrEstData >::add(), and ug::MultipleErrEstData< TDomain, TErrEstData >::get().
|
protected |
approx space
Referenced by ug::MultipleErrEstData< TDomain, TErrEstData >::add(), and ug::MultipleErrEstData< TDomain, TErrEstData >::get().
|
protected |