dune-pdelab 2.7-git
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
Dune::PDELab::ConvectionDiffusionDG_ErrorIndicator< T > Class Template Reference

a local operator for residual-based error estimation More...

#include <dune/pdelab/localoperator/errorindicatordg.hh>

Inheritance diagram for Dune::PDELab::ConvectionDiffusionDG_ErrorIndicator< T >:
Inheritance graph

Public Types

enum  { doPatternVolume = false }
 
enum  { doPatternSkeleton = false }
 
enum  { doAlphaVolume = true }
 
enum  { doAlphaSkeleton = true }
 
enum  { doAlphaBoundary = true }
 
Flags for the sparsity pattern
enum  { doPatternVolume }
 Whether to assemble the pattern on the elements, i.e. whether or not pattern_volume() should be called. More...
 
enum  { doPatternVolumePostSkeleton }
 Whether to assemble the pattern on the elements after the skeleton has been handled, i.e. whether or not pattern_volume_post_skeleton() should be called. More...
 
enum  { doPatternSkeleton }
 Whether to assemble the pattern on the interior intersections, i.e. whether or not pattern_skeleton() should be called. More...
 
enum  { doPatternBoundary }
 Whether to assemble the pattern on the boundary intersections, i.e. whether or not pattern_boundary() should be called. More...
 
Flags for the non-constant part of the residual and the jacobian
enum  { doAlphaVolume }
 Whether to call the local operator's alpha_volume(), jacobian_apply_volume() and jacobian_volume(). More...
 
enum  { doAlphaVolumePostSkeleton }
 Whether to call the local operator's alpha_volume_post_skeleton(), jacobian_apply_volume_post_skeleton() and jacobian_volume_post_skeleton(). More...
 
enum  { doAlphaSkeleton }
 Whether to call the local operator's alpha_skeleton(), jacobian_apply_skeleton() and jacobian_skeleton(). More...
 
enum  { doAlphaBoundary }
 Whether to call the local operator's alpha_boundary(), jacobian_apply_boundary() and jacobian_boundary(). More...
 
Flags for the constant part of the residual
enum  { doLambdaVolume }
 Whether to call the local operator's lambda_volume(). More...
 
enum  { doLambdaVolumePostSkeleton }
 Whether to call the local operator's lambda_volume_post_skeleton(). More...
 
enum  { doLambdaSkeleton }
 Whether to call the local operator's lambda_skeleton(). More...
 
enum  { doLambdaBoundary }
 Whether to call the local operator's lambda_boundary(). More...
 
Special flags
enum  { doSkeletonTwoSided }
 Whether to visit the skeleton methods from both sides. More...
 
enum  { isLinear }
 Wheter the local operator describes a linear problem. More...
 

Public Member Functions

 ConvectionDiffusionDG_ErrorIndicator (T &param_, ConvectionDiffusionDGMethod::Type method_=ConvectionDiffusionDGMethod::NIPG, ConvectionDiffusionDGWeights::Type weights_=ConvectionDiffusionDGWeights::weightsOff, Real gamma_=0.0)
 constructor: pass parameter object
 
template<typename EG , typename LFSU , typename X , typename LFSV , typename R >
void alpha_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, R &r) const
 
template<typename IG , typename LFSU , typename X , typename LFSV , typename R >
void alpha_skeleton (const IG &ig, const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, const LFSU &lfsu_n, const X &x_n, const LFSV &lfsv_n, R &r_s, R &r_n) const
 
template<typename IG , typename LFSU , typename X , typename LFSV , typename R >
void alpha_boundary (const IG &ig, const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, R &r_s) const
 

Detailed Description

template<typename T>
class Dune::PDELab::ConvectionDiffusionDG_ErrorIndicator< T >

a local operator for residual-based error estimation

A call to residual() of a grid operator space will assemble the quantity $\eta_T^2$ for each cell. Note that the squares of the cell indicator $\eta_T$ is stored. To compute the global error estimate sum up all values and take the square root.

Assumptions and limitations:

Template Parameters
Tmodel of ConvectionDiffusionParameterInterface

Member Enumeration Documentation

◆ anonymous enum

template<typename T >
anonymous enum
Enumerator
doPatternVolume 

◆ anonymous enum

template<typename T >
anonymous enum
Enumerator
doPatternSkeleton 

◆ anonymous enum

template<typename T >
anonymous enum
Enumerator
doAlphaVolume 

◆ anonymous enum

template<typename T >
anonymous enum
Enumerator
doAlphaSkeleton 

◆ anonymous enum

template<typename T >
anonymous enum
Enumerator
doAlphaBoundary 

◆ anonymous enum

anonymous enum
inherited

Whether to assemble the pattern on the elements, i.e. whether or not pattern_volume() should be called.

Enumerator
doPatternVolume 

◆ anonymous enum

anonymous enum
inherited

Whether to assemble the pattern on the elements after the skeleton has been handled, i.e. whether or not pattern_volume_post_skeleton() should be called.

Enumerator
doPatternVolumePostSkeleton 

◆ anonymous enum

anonymous enum
inherited

Whether to assemble the pattern on the interior intersections, i.e. whether or not pattern_skeleton() should be called.

Enumerator
doPatternSkeleton 

◆ anonymous enum

anonymous enum
inherited

Whether to assemble the pattern on the boundary intersections, i.e. whether or not pattern_boundary() should be called.

Enumerator
doPatternBoundary 

◆ anonymous enum

anonymous enum
inherited

Whether to call the local operator's alpha_volume(), jacobian_apply_volume() and jacobian_volume().

Enumerator
doAlphaVolume 

◆ anonymous enum

anonymous enum
inherited

Whether to call the local operator's alpha_volume_post_skeleton(), jacobian_apply_volume_post_skeleton() and jacobian_volume_post_skeleton().

Enumerator
doAlphaVolumePostSkeleton 

◆ anonymous enum

anonymous enum
inherited

Whether to call the local operator's alpha_skeleton(), jacobian_apply_skeleton() and jacobian_skeleton().

Enumerator
doAlphaSkeleton 

◆ anonymous enum

anonymous enum
inherited

Whether to call the local operator's alpha_boundary(), jacobian_apply_boundary() and jacobian_boundary().

Enumerator
doAlphaBoundary 

◆ anonymous enum

anonymous enum
inherited

Whether to call the local operator's lambda_volume().

Enumerator
doLambdaVolume 

◆ anonymous enum

anonymous enum
inherited

Whether to call the local operator's lambda_volume_post_skeleton().

Enumerator
doLambdaVolumePostSkeleton 

◆ anonymous enum

anonymous enum
inherited

Whether to call the local operator's lambda_skeleton().

Enumerator
doLambdaSkeleton 

◆ anonymous enum

anonymous enum
inherited

Whether to call the local operator's lambda_boundary().

Enumerator
doLambdaBoundary 

◆ anonymous enum

anonymous enum
inherited

Whether to visit the skeleton methods from both sides.

Enumerator
doSkeletonTwoSided 

◆ anonymous enum

anonymous enum
inherited

Wheter the local operator describes a linear problem.

Enumerator
isLinear 

Constructor & Destructor Documentation

◆ ConvectionDiffusionDG_ErrorIndicator()

template<typename T >
Dune::PDELab::ConvectionDiffusionDG_ErrorIndicator< T >::ConvectionDiffusionDG_ErrorIndicator ( T &  param_,
ConvectionDiffusionDGMethod::Type  method_ = ConvectionDiffusionDGMethod::NIPG,
ConvectionDiffusionDGWeights::Type  weights_ = ConvectionDiffusionDGWeights::weightsOff,
Real  gamma_ = 0.0 
)
inline

constructor: pass parameter object

Member Function Documentation

◆ alpha_boundary()

template<typename T >
template<typename IG , typename LFSU , typename X , typename LFSV , typename R >
void Dune::PDELab::ConvectionDiffusionDG_ErrorIndicator< T >::alpha_boundary ( const IG &  ig,
const LFSU &  lfsu_s,
const X &  x_s,
const LFSV &  lfsv_s,
R &  r_s 
) const
inline

◆ alpha_skeleton()

template<typename T >
template<typename IG , typename LFSU , typename X , typename LFSV , typename R >
void Dune::PDELab::ConvectionDiffusionDG_ErrorIndicator< T >::alpha_skeleton ( const IG &  ig,
const LFSU &  lfsu_s,
const X &  x_s,
const LFSV &  lfsv_s,
const LFSU &  lfsu_n,
const X &  x_n,
const LFSV &  lfsv_n,
R &  r_s,
R &  r_n 
) const
inline

◆ alpha_volume()

template<typename T >
template<typename EG , typename LFSU , typename X , typename LFSV , typename R >
void Dune::PDELab::ConvectionDiffusionDG_ErrorIndicator< T >::alpha_volume ( const EG &  eg,
const LFSU &  lfsu,
const X &  x,
const LFSV &  lfsv,
R &  r 
) const
inline

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