Refinement selectors allows to select a refinement according to an error of a candidate. More...
Classes | |
| class | RefinementSelectors::H1ProjBasedSelector |
| A projection-based selector for H1 space. More... | |
| class | RefinementSelectors::L2ProjBasedSelector |
| A projection-based selector for L2 space. More... | |
| class | RefinementSelectors::OptimumSelector |
| A selector that chooses an optimal candidates based on a score. More... | |
| class | RefinementSelectors::OrderPermutator |
| Order permutator. Generates all permutations of orders from a set defined by a range of orders. More... | |
| class | RefinementSelectors::ProjBasedSelector |
| A general projection-based selector. More... | |
| class | RefinementSelectors::Selector |
| A parent of all refinement selectors. Abstract class. More... | |
| class | RefinementSelectors::HOnlySelector |
| A selector that selects H-refinements only. More... | |
| class | RefinementSelectors::POnlySelector |
| A selector that increases order (i.e., it selects P-refinements only). More... | |
Namespaces | |
| namespace | RefinementSelectors |
Namespace which encapsulates all refinement selectors. | |
Defines | |
| #define | H2DRS_ASSUMED_MAX_CANDS 512 |
| An estimated maximum number of candidates. Used for purpose of reserving space. | |
| #define | H2DRS_INTR_GIP_ORDER 20 |
| An integration order used to integrate while evaluating a candidate. | |
| #define | H2DRS_MAX_ORDER_INC 2 |
| Maximum increase of an order in candidates. | |
| #define | H2DRS_SCORE_DIFF_ZERO 1E-13 |
| A threshold of difference between scores. Anything below this values is considered zero. | |
| #define | H2DRS_ORDER_ANY -1 |
| Any order. Used as a wildcard to indicate that a given order can by any valid order. | |
| #define | H2DRS_DEFAULT_ERR_WEIGHT_H 2.0 |
| A default multiplicative coefficient of an error of a H-candidate. | |
| #define | H2DRS_DEFAULT_ERR_WEIGHT_P 1.0 |
| A default multiplicative coefficient of an error of a P-candidate. | |
| #define | H2DRS_DEFAULT_ERR_WEIGHT_ANISO 1.414214 |
| A default multiplicative coefficient of an error of a ANISO-candidate. | |
| #define | H2DRS_VALCACHE_INVALID 0 |
| State of value cache: item contains undefined or invalid value. | |
| #define | H2DRS_VALCACHE_VALID 1 |
| State of value cache: item contains a valid value. | |
| #define | H2DRS_VALCACHE_USER 2 |
| State of value cache: the first state ID which can be used by the user. An item of a value cache. | |
| #define | H2DRS_DEFAULT_ORDER -1 |
| A default order. Used to indicate an unkonwn order or a maximum support order. | |
| #define | H2DRS_MAX_ORDER 9 |
| A maximum order suported by refinement selectors. | |
Typedefs | |
| typedef double | RefinementSelectors::CandElemProjError [H2DRS_MAX_ORDER+2][H2DRS_MAX_ORDER+2] |
| Error of an element of a candidate for various permutations of orders. | |
Enumerations | |
| enum | RefinementSelectors::CandList { RefinementSelectors::H2D_P_ISO, RefinementSelectors::H2D_P_ANISO, RefinementSelectors::H2D_H_ISO, RefinementSelectors::H2D_H_ANISO, RefinementSelectors::H2D_HP_ISO, RefinementSelectors::H2D_HP_ANISO_H, RefinementSelectors::H2D_HP_ANISO_P, RefinementSelectors::H2D_HP_ANISO } |
Predefined list of candidates. More... | |
| enum | RefinementSelectors::SelOption { RefinementSelectors::H2D_PREFER_SYMMETRIC_MESH, RefinementSelectors::H2D_APPLY_CONV_EXP_DOF } |
Options of the selector. More... | |
Functions | |
| H2D_API const char * | RefinementSelectors::get_cand_list_str (const CandList cand_list) |
| Returns a string representation of a predefined candidate list. | |
| H2D_API bool | RefinementSelectors::is_hp (const CandList cand_list) |
| Returns true if a predefined candidate list may contain candidates that are HP. | |
| H2D_API bool | RefinementSelectors::is_p_aniso (const CandList cand_list) |
| Returns true if a predefined candidate list may contain candidates with an anisotropic change of orders. | |
| H2D_API std::ostream & | RefinementSelectors::operator<< (std::ostream &stream, const OptimumSelector::Cand &cand) |
| Operator. Flushes contents of a candidate to a string stream. Useful for debug messages. | |
Refinement selectors allows to select a refinement according to an error of a candidate.
The error is calculate by comparing a candidate projected to a reference solution with the reference solution. All selectors has to be derived from the class Selector. An instance of a selector should be created outside the adaptivity loop in order to save initialization time.
Currently available selectors:
| #define H2DRS_ASSUMED_MAX_CANDS 512 |
An estimated maximum number of candidates. Used for purpose of reserving space.
For internal use only.
| #define H2DRS_DEFAULT_ERR_WEIGHT_ANISO 1.414214 |
A default multiplicative coefficient of an error of a ANISO-candidate.
| #define H2DRS_DEFAULT_ERR_WEIGHT_H 2.0 |
A default multiplicative coefficient of an error of a H-candidate.
| #define H2DRS_DEFAULT_ERR_WEIGHT_P 1.0 |
A default multiplicative coefficient of an error of a P-candidate.
| #define H2DRS_DEFAULT_ORDER -1 |
A default order. Used to indicate an unkonwn order or a maximum support order.
| #define H2DRS_INTR_GIP_ORDER 20 |
An integration order used to integrate while evaluating a candidate.
For internal use only.
| #define H2DRS_MAX_ORDER 9 |
A maximum order suported by refinement selectors.
| #define H2DRS_MAX_ORDER_INC 2 |
Maximum increase of an order in candidates.
| #define H2DRS_ORDER_ANY -1 |
Any order. Used as a wildcard to indicate that a given order can by any valid order.
For internal use only.
| #define H2DRS_SCORE_DIFF_ZERO 1E-13 |
A threshold of difference between scores. Anything below this values is considered zero.
For internal use only.
| #define H2DRS_VALCACHE_INVALID 0 |
State of value cache: item contains undefined or invalid value.
| #define H2DRS_VALCACHE_USER 2 |
State of value cache: the first state ID which can be used by the user. An item of a value cache.
| #define H2DRS_VALCACHE_VALID 1 |
State of value cache: item contains a valid value.
| typedef double RefinementSelectors::CandElemProjError[H2DRS_MAX_ORDER+2][H2DRS_MAX_ORDER+2] |
Error of an element of a candidate for various permutations of orders.
If not noted otherwise, the first index is the horizontal order, the second index is the vertical order. The maximum allowed order is H2DRS_MAX_ORDER + 1.
Predefined list of candidates.
Options of the selector.
| H2D_PREFER_SYMMETRIC_MESH |
Prefer symmetric mesh when selection of the best candidate is done. If two or more candiates has the same score, they are skipped. This option is set by default. |
| H2D_APPLY_CONV_EXP_DOF |
Use |
| H2D_API const char * RefinementSelectors::get_cand_list_str | ( | const CandList | cand_list | ) |
Returns a string representation of a predefined candidate list.
Used for debugging and output purposes.
| cand_list | A predefined list of candidates. |
| H2D_API bool RefinementSelectors::is_hp | ( | const CandList | cand_list | ) |
Returns true if a predefined candidate list may contain candidates that are HP.
| cand_list | A predefined list of candidates. |
| H2D_API bool RefinementSelectors::is_p_aniso | ( | const CandList | cand_list | ) |
Returns true if a predefined candidate list may contain candidates with an anisotropic change of orders.
| cand_list | A predefined list of candidates. |
| H2D_API std::ostream & RefinementSelectors::operator<< | ( | std::ostream & | stream, | |
| const OptimumSelector::Cand & | cand | |||
| ) |
Operator. Flushes contents of a candidate to a string stream. Useful for debug messages.
1.6.3