|
Hermes2D
3.0
|
#include <adapt.h>
Inheritance diagram for Hermes::Hermes2D::Adapt< Scalar >:Public Member Functions | |
| Adapt (std::vector< SpaceSharedPtr< Scalar > > spaces, ErrorCalculator< Scalar > *error_calculator, AdaptivityStoppingCriterion< Scalar > *strategy=nullptr) | |
| Adapt (SpaceSharedPtr< Scalar > space, ErrorCalculator< Scalar > *error_calculator, AdaptivityStoppingCriterion< Scalar > *strategy=nullptr) | |
| Adapt (ErrorCalculator< Scalar > *error_calculator, AdaptivityStoppingCriterion< Scalar > *strategy=nullptr) | |
| virtual | ~Adapt () |
| Destructor. Deallocates allocated private data. | |
| void | free () |
| Deallocates allocated private data. | |
| bool | adapt (std::vector< RefinementSelectors::Selector< Scalar > * > refinement_selectors) |
| Refines elements based on results from the ErrorCalculator class. More... | |
| bool | adapt (RefinementSelectors::Selector< Scalar > *refinement_selector) |
| Refines elements based on results from the ErrorCalculator class. More... | |
| void | set_strategy (AdaptivityStoppingCriterion< Scalar > *strategy) |
| void | set_regularization_level (int regularization) |
| virtual bool | isOkay () const |
| Internal checking. | |
| std::string | getClassName () const |
| void | set_spaces (std::vector< SpaceSharedPtr< Scalar > > spaces) |
| Set spaces. | |
| void | set_space (SpaceSharedPtr< Scalar > space) |
| MeshFunctionSharedPtr< double > | get_refinementInfoMeshFunction (int component=-1) |
Protected Member Functions | |
| void | set_defaults () |
| Set default values. | |
| void | init_adapt (std::vector< RefinementSelectors::Selector< Scalar > * > &refinement_selectors, ElementToRefine ***element_refinement_location, MeshSharedPtr *meshes) |
| Initialization. | |
| int | calculate_attempted_element_refinements_count () |
| Return the number of element where a refinement will be sought. | |
| void | adapt_postprocess (MeshSharedPtr *meshes, int element_refinements_count) |
| Handle meshes and spaces at the end of the routine. | |
| void | deinit_adapt (ElementToRefine ***element_refinement_location) |
| Deinitialization. | |
| void | init () |
| Common code for the constructors. | |
| void | apply_refinement (const ElementToRefine &elem_ref) |
| Apply a single refinement. More... | |
| virtual void | apply_refinements (ElementToRefine *elems_to_refine, int num_elem_to_process) |
| Apply a vector of refinements. More... | |
| void | fix_shared_mesh_refinements (MeshSharedPtr *meshes, ElementToRefine *&elems_to_refine, int &num_elem_to_process, ElementToRefine ***refinement_location, RefinementSelectors::Selector< Scalar > **refinement_selectors) |
| Fixes refinements of a mesh which is shared among multiple components of a multimesh. More... | |
| void | homogenize_shared_mesh_orders (MeshSharedPtr *meshes) |
| Enforces the same order to an element of a mesh which is shared among multiple components. More... | |
Protected Attributes | |
|
AdaptivityStoppingCriterion < Scalar > * | strategy |
| Current strategy. | |
| int | num |
| Number of solution components (as in wf->neq). | |
| int | regularization |
| Regularization (max. level of hanging nodes) level. | |
| std::vector< MeshSharedPtr > | meshes |
| Meshes. | |
|
std::vector< SpaceSharedPtr < Scalar > > | spaces |
| Spaces. | |
| ErrorCalculator< Scalar > * | errorCalculator |
| Error calculator. | |
| ElementToRefine * | elements_to_refine |
| Information about performed refinements. | |
| int | elements_to_refine_count |
| MeshFunctionSharedPtr< double > | refinementInfoMeshFunction [H2D_MAX_COMPONENTS] |
| Mesh function for postprocessing the information about which elements have been refined - on component basis. | |
| MeshFunctionSharedPtr< double > | refinementInfoMeshFunctionGlobal |
| Mesh function for postprocessing the information about which elements have been refined - for the whole system. | |
Protected Attributes inherited from Hermes::Hermes2D::Mixins::Parallel | |
| unsigned char | num_threads_used |
| std::string | exceptionMessageCaughtInParallelBlock |
Friends | |
| template<typename T , typename S > | |
| class | AdaptSolver |
Evaluation of an error between a (coarse) solution and a reference solution and adaptivity. The class provides basic functionality necessary to adaptively refine elements. Given a reference solution and a coarse solution, it calculates error estimates and it acts as a container for the calculated errors. For default values of attributes, see the method set_defaults().
| Hermes::Hermes2D::Adapt< Scalar >::Adapt | ( | std::vector< SpaceSharedPtr< Scalar > > | spaces, |
| ErrorCalculator< Scalar > * | error_calculator, | ||
| AdaptivityStoppingCriterion< Scalar > * | strategy = nullptr |
||
| ) |
| bool Hermes::Hermes2D::Adapt< Scalar >::adapt | ( | std::vector< RefinementSelectors::Selector< Scalar > * > | refinement_selectors | ) |
Refines elements based on results from the ErrorCalculator class.
| [in] | refinement_selectors | Vector of selectors. |
| bool Hermes::Hermes2D::Adapt< Scalar >::adapt | ( | RefinementSelectors::Selector< Scalar > * | refinement_selector | ) |
Refines elements based on results from the ErrorCalculator class.
| [in] | refinement_selector | A pointer to a selector which will select a refinement. |
|
protected |
|
protectedvirtual |
|
protected |
Fixes refinements of a mesh which is shared among multiple components of a multimesh.
If a mesh is shared among components, it has to be refined similarly in order to avoid inconsistency.
| [in] | meshes | An array of meshes of components. |
| [in] | elems_to_refine | An array of refinements. |
| [in] | num_elem_to_process | Length of the array elems_to_refine. |
| [in] | idx | A 2D array that translates a pair (a component index, an element id) to an index of a refinement in the vector of refinements. If the index is below zero, a given element was not refined. |
| [in] | refinement_selectors | Selectors used by the adaptivity. The selector is used to correct orders of modified refinements using RefinementSelectors::Selector::update_shared_mesh_orders(). |
| MeshFunctionSharedPtr< double > Hermes::Hermes2D::Adapt< Scalar >::get_refinementInfoMeshFunction | ( | int | component = -1 | ) |
|
protected |
| void Hermes::Hermes2D::Adapt< Scalar >::set_regularization_level | ( | int | regularization | ) |
| void Hermes::Hermes2D::Adapt< Scalar >::set_strategy | ( | AdaptivityStoppingCriterion< Scalar > * | strategy | ) |
Set the current strategy.
| [in] | strategy | The strategy, see the info for AdaptivityStoppingCriterion. |