KASKADE 7 development version
Classes | Namespaces | Functions
averaging_errorest.hh File Reference

Error estimation via gradient averaging and helper routines. More...

#include "dune/geometry/quadraturerules.hh"
#include "fem/functionviews.hh"
#include "fem/assemble.hh"
#include "fem/fetransfer.hh"
#include "fem/integration"
#include "fem/celldata.hh"
#include "linalg/factorization.hh"
#include "linalg/pardiso_solve.hh"
#include "linalg/linearsystem.hh"

Go to the source code of this file.

Classes

class  Kaskade::FunctionViews::Difference< Function1, Function2 >
 
class  Kaskade::LocalIntegral< Space >
 Create a CellData by computing local integrals over each Cell. More...
 
class  Kaskade::HigherOrderRecovery< Grid, Space >
 Construct a higher order estimate for the finite element solution from gradient information. More...
 
struct  Kaskade::HigherOrderRecovery< Grid, Space >::HigherOrderRecoveryFunctional< RType, Variables >::DomainCache
 
struct  Kaskade::HigherOrderRecovery< Grid, Space >::HigherOrderRecoveryFunctional< RType, Variables >::BoundaryCache
 
struct  Kaskade::HigherOrderRecovery< Grid, Space >::HigherOrderRecoveryFunctional< RType, Variables >::D2< row, col >
 

Namespaces

namespace  Kaskade
 
 
namespace  Kaskade::FunctionViews
 Namespace of views on a FunctionSpaceElement Views on Function SpaceElements can be used in a restricted sense like FunctionSpaceElements. The idea is to transform a given function to another function while evaluating it at a certain point. Such a view has provide certain functionality:
 

Functions

template<class Function >
CellData< typenameFunction::Space::Grid, typenameFunction::ValueType >::CellDataVector Kaskade::gradientAveraging (Function const &f)
 Perform gradient averaging in order to construct an error estimator. More...
 
template<class GradientError , class Function >
void Kaskade::gradientAveraging (GradientError &dx, Function const &x)
 Perform gradient averaging in order to construct a representation of the gradient error. More...
 
template<class Function >
CellData< typenameFunction::Space::Grid, typenameFunction::ValueType >::CellDataVector Kaskade::lowOrderInterpolation (Function const &f)
 Perform lower order interpolation in order to construct an error estimator. More...
 

Detailed Description

Error estimation via gradient averaging and helper routines.

Author
Anton Schiela

This file provides components for error estimation and adaptive grid refinement.

In particular CellData <Grid> is a data structure that stores error indicators and provides service routine for marking and refining. To be used together with GridManager <Grid>.

With gradientAveraging there is a simple and rather universal error estimator provided. Independently of an equation it measures the difference of a discontinuous gradient to a continuous interpolation, which can be interpreted as the distance of the discrete solution to a smoother function space.

Example for usage

 do
 {
    //Assemble and solve discrete Problem...

    CellData<Grid> indicator(gradientAveraging(currentsolution));
    double totalH1Error=std::sqrt(indicator.sum());
    gm.mark(markByBulkCriterion(indicator,theta));
    gm.adaptAtOnce();
 } while(totalH1Error > desiredAccuracy)

Definition in file averaging_errorest.hh.