KASKADE 7 development version
|
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... | |
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.
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().