KASKADE 7 development version
Classes | Functions
Refinement Criteria

Tools for selecting cells for refinement. More...

Classes

class  Kaskade::RefinementCriterion
 Base class for refinement criteria. More...
 
class  Kaskade::FixedFractionCriterion
 Fixed fraction refinement criterion. Determines the refinement thresholds such that at least the specified fraction of the cells are marked for refinement. This ensures that not too few cells are marked, which could lead to very many refinement iterations, but may lead to erratic refinement if there are indeed only very local refinements necessary. More...
 
class  Kaskade::BulkCriterion
 Bulk refinement criterion. Determines the refinement thresholds such that approximately the specified fraction of the total error is removed by the refinement (under the unrealistically optimistic assumption that refinement eliminates the error completely in that cell - in reality, it's only reduced by a certain factor, so the total error is reduced somewhat less). More...
 
class  Kaskade::MaxValueCriterion
 Max value refinement criterion. Determines the refinement thresholds such that all cells with an error contribution exceeding a certain fraction of the maximum error contribution are refined. More...
 
class  Kaskade::BabuskaRheinboldtCriterion
 Babuska-Rheinboldt refinement criterion. Determines the refinement thresholds such that all cells with an error contribution exceeding the expected error contribution of the worst cell after refinement will be marked. This tends to equilibrate the error contributions quite fast. More...
 

Functions

template<class GridManager , class GridView >
void Kaskade::markAndRefine (GridManager &gridManager, GridView const &gridView, boost::multi_array< double, 2 > const &normalizedErrors, std::vector< double > const &threshold)
 Refines the grid according to the normalized errors and the given thresholds. More...
 

Detailed Description

Tools for selecting cells for refinement.

Given an error indicator for each cell, the question remains as to which cells actually to refine. It is obvious that cells with larger error indicator get refined whereas cells with smaller one are not marked, so the question boils down to selecting a threshold for error indicators. Several choices have been proposed in the literature, and some of them are implemented here.

Function Documentation

◆ markAndRefine()

template<class GridManager , class GridView >
void Kaskade::markAndRefine ( GridManager gridManager,
GridView const &  gridView,
boost::multi_array< double, 2 > const &  normalizedErrors,
std::vector< double > const &  threshold 
)

Refines the grid according to the normalized errors and the given thresholds.

Definition at line 53 of file errorest.hh.

Referenced by Kaskade::EmbeddedErrorEstimator< VariableSetDescription, Scaling >::estimate().