ug4
|
The refiner interface allows to mark elements for refinement and to call refine. More...
#include <refiner_interface.h>
Public Member Functions | |
virtual bool | adaptivity_supported () const =0 |
returns whether the refiner is able to perform adaptive refinement More... | |
virtual void | clear_marks () |
clears all marks. Default implementation is empty More... | |
bool | coarsen () |
Performs coarsening on the elements marked RM_COARSEN. More... | |
virtual bool | coarsening_supported () const =0 |
returns true, if the refiner supports coarsening. More... | |
bool | debugging_enabled () const |
void | enable_debugging (bool enable) |
virtual Grid * | get_associated_grid ()=0 |
DEPRECIATED! Use grid(). Has to return the associated grid. Pure virtual. More... | |
int | get_local_edge_mark (Face *f, Edge *e) const |
returns the local mark of the specified edge of the given face More... | |
int | get_local_edge_mark (Volume *vol, Edge *e) const |
returns the local mark of the specified edge of the given volume More... | |
int | get_local_face_mark (Volume *vol, Face *f) const |
returns the local mark of the specified face of the given volume More... | |
virtual RefinementMark | get_mark (GridObject *o) const |
returns the mark of the specified geometric object More... | |
virtual Grid * | grid ()=0 |
Returns the grid associated with the refiner. More... | |
IRefiner (SPRefinementProjector projector=SPNULL) | |
virtual bool | local_marks_supported () const |
returns true, if the refiner supports local marks. More... | |
template<class TIterator > | |
void | mark (const TIterator &iterBegin, const TIterator &iterEnd, RefinementMark refMark=RM_REFINE) |
marks all elements between iterBegin and iterEnd. More... | |
virtual bool | mark (GridObject *o, RefinementMark refMark=RM_REFINE) |
marks the specified geometric object More... | |
void | mark_neighborhood (size_t numIterations) |
marks the neighborhood of currently marked elements. More... | |
virtual void | mark_neighborhood (size_t numIterations, RefinementMark refMark, bool sideNbrsOnly) |
marks the neighborhood of currently marked elements. More... | |
template<class TElem > | |
bool | marked_closure (TElem *elem) const |
template<class TElem > | |
bool | marked_full (TElem *elem) const |
template<class TElem > | |
bool | marked_local (TElem *elem) const |
size_t | num_marked_edges () |
returns the number of (globally) marked edges on all levels of the hierarchy More... | |
size_t | num_marked_edges (std::vector< int > &numMarkedEdgesOut) |
returns the number of (globally) marked edges on all levels of the hierarchy More... | |
size_t | num_marked_elements () |
returns the number of (globally) marked grid-objects of highest dimension More... | |
size_t | num_marked_elements (std::vector< int > &numMarkedElemsOut) |
returns the number of (globally) marked grid-objects of highest dimension More... | |
size_t | num_marked_faces () |
returns the number of (globally) marked faces on all levels of the hierarchy More... | |
size_t | num_marked_faces (std::vector< int > &numMarkedFacesOut) |
returns the number of (globally) marked faces on all levels of the hierarchy More... | |
size_t | num_marked_volumes () |
returns the number of (globally) marked volumes on all levels of the hierarchy More... | |
size_t | num_marked_volumes (std::vector< int > &numMarkedVolsOut) |
returns the number of (globally) marked volumes on all levels of the hierarchy More... | |
SPRefinementProjector | projector () |
void | refine () |
Performs refinement on the marked elements. More... | |
virtual bool | save_marks_to_file (const char *filename)=0 |
Writes the associated grid and marks to a file. Pure virtual. More... | |
void | set_adjusted_marks_debug_filename (const char *filename) |
sets a filename to which adjusted marks are saved during refinement / coarsening More... | |
void | set_projector (SPRefinementProjector projector) |
virtual | ~IRefiner () |
virtual bool | mark (Vertex *v, RefinementMark refMark=RM_REFINE) |
Marks an element for refinement. Default implementation is empty. More... | |
virtual bool | mark (Edge *e, RefinementMark refMark=RM_REFINE) |
Marks an element for refinement. Default implementation is empty. More... | |
virtual bool | mark (Face *f, RefinementMark refMark=RM_REFINE) |
Marks an element for refinement. Default implementation is empty. More... | |
virtual bool | mark (Volume *v, RefinementMark refMark=RM_REFINE) |
Marks an element for refinement. Default implementation is empty. More... | |
virtual void | mark_local (Face *e, int mark) |
Marks a face or volume for local refinement. More... | |
virtual void | mark_local (Volume *e, int mark) |
Marks a face or volume for local refinement. More... | |
virtual int | get_local_mark (Face *e) const |
returns the local mark of the specified face or volume. More... | |
virtual int | get_local_mark (Volume *e) const |
returns the local mark of the specified face or volume. More... | |
virtual RefinementMark | get_mark (Vertex *v) const |
Returns the mark of a given element. Default returns RM_REFINE. More... | |
virtual RefinementMark | get_mark (Edge *e) const |
Returns the mark of a given element. Default returns RM_REFINE. More... | |
virtual RefinementMark | get_mark (Face *f) const |
Returns the mark of a given element. Default returns RM_REFINE. More... | |
virtual RefinementMark | get_mark (Volume *v) const |
Returns the mark of a given element. Default returns RM_REFINE. More... | |
void | adaption_begins () |
notifies all listeners of the associated message-hub, that adaption begins / ends. More... | |
void | adaption_ends () |
notifies all listeners of the associated message-hub, that adaption begins / ends. More... | |
Protected Member Functions | |
virtual void | num_marked_edges_local (std::vector< int > &numMarkedEdgesOut)=0 |
returns the number of locally marked edges on all levels of the hierarchy More... | |
virtual void | num_marked_faces_local (std::vector< int > &numMarkedFacesOut)=0 |
returns the number of locally marked faces on all levels of the hierarchy More... | |
virtual void | num_marked_volumes_local (std::vector< int > &numMarkedVolsOut)=0 |
returns the number of locally marked volumes on all levels of the hierarchy More... | |
virtual bool | perform_coarsening () |
Called by coarsen(). Derived classes sould implement their coarsen algorithm here. More... | |
virtual void | perform_refinement ()=0 |
called by refine(). Derived classes should implement their refinement algorithm here. More... | |
void | set_message_hub (SPMessageHub msgHub) |
sets the message hub. More... | |
Protected Attributes | |
bool | m_adaptionIsActive |
std::string | m_adjustedMarksDebugFilename |
bool | m_debuggingEnabled |
SPMessageHub | m_messageHub |
int | m_msgIdAdaption |
SPRefinementProjector | m_projector |
The refiner interface allows to mark elements for refinement and to call refine.
A refiner always operates on a grid. A grid thus has to be assigned before refinement starts. Please take a look at the specializations of IRefiner, for more information.
|
inline |
|
inlinevirtual |
void ug::IRefiner::adaption_begins | ( | ) |
notifies all listeners of the associated message-hub, that adaption begins / ends.
While this message is not important to the refiner itself, it may be important to listeners of the associated grid's message-hub.
References adaptivity_supported(), ug::GMAT_GLOBAL_ADAPTION_BEGINS, ug::GMAT_HNODE_ADAPTION_BEGINS, m_adaptionIsActive, m_messageHub, UG_THROW, and SmartPtr< T, FreePolicy >::valid().
Referenced by coarsen().
void ug::IRefiner::adaption_ends | ( | ) |
notifies all listeners of the associated message-hub, that adaption begins / ends.
While this message is not important to the refiner itself, it may be important to listeners of the associated grid's message-hub.
References adaptivity_supported(), ug::GMAT_HNODE_ADAPTION_ENDS, m_messageHub, UG_THROW, and SmartPtr< T, FreePolicy >::valid().
Referenced by coarsen().
|
pure virtual |
returns whether the refiner is able to perform adaptive refinement
pure virtual!
Implemented in ug::HangingNodeRefiner_MultiGrid, ug::HangingNodeRefiner_Grid, ug::GlobalMultiGridRefiner, and ug::GlobalFracturedMediaRefiner.
Referenced by adaption_begins(), and adaption_ends().
|
inlinevirtual |
clears all marks. Default implementation is empty
Reimplemented in ug::HangingNodeRefinerBase< TSelector >, ug::HangingNodeRefinerBase< MGSelector >, and ug::HangingNodeRefinerBase< Selector >.
bool ug::IRefiner::coarsen | ( | ) |
Performs coarsening on the elements marked RM_COARSEN.
Note that coarsening is not supported by all refiners. Normally only MultiGrid-Refiner do support coarsening.
coarsen returns false, if no elements have been coarsened, true if at least one has been coarsened.
Internally calls the virtual method 'perform_coarsening'
References adaption_begins(), adaption_ends(), coarsening_supported(), m_adaptionIsActive, m_messageHub, PCL_DEBUG_BARRIER_ALL, perform_coarsening(), PROFILE_BEGIN_GROUP, UG_THROW, and SmartPtr< T, FreePolicy >::valid().
Referenced by ug::MarkForCoarsenening_SurfaceLayer().
|
pure virtual |
returns true, if the refiner supports coarsening.
pure virtual!
Implemented in ug::HangingNodeRefiner_MultiGrid, ug::HangingNodeRefiner_Grid, ug::GlobalMultiGridRefiner, and ug::GlobalFracturedMediaRefiner.
Referenced by coarsen().
|
inline |
|
inline |
References m_debuggingEnabled.
|
pure virtual |
DEPRECIATED! Use grid(). Has to return the associated grid. Pure virtual.
Implemented in ug::HangingNodeRefiner_MultiGrid, ug::HangingNodeRefiner_Grid, ug::GlobalMultiGridRefiner, and ug::GlobalFracturedMediaRefiner.
Referenced by ug::MarkAnisotropic_LongEdges().
returns the local mark of the specified edge of the given face
Note that this is not necessarily the mark of the edge itself. Instead the mark of the edge as induced by the local mark of the face is returned. The method also considers marks RM_FULL and RM_CLOSURE.
References get_local_mark(), ug::GetEdgeIndex(), marked_closure(), marked_full(), marked_local(), and UG_COND_THROW.
Referenced by ug::LocalMarkAdjuster::ref_marks_changed().
returns the local mark of the specified edge of the given volume
Note that this is not necessarily the mark of the edge itself. Instead the mark of the edge as induced by the local mark of the volume is returned. The method also considers marks RM_FULL and RM_CLOSURE.
References get_local_mark(), ug::GetEdgeIndex(), marked_closure(), marked_full(), marked_local(), and UG_COND_THROW.
returns the local mark of the specified face of the given volume
Note that this is not necessarily the mark of the face itself. Instead the mark of the face as induced by the local mark of the volume is returned. The method also considers marks RM_FULL and RM_CLOSURE.
References ug::Grid::get_edge(), ug::Volume::get_edge_index_from_vertices(), get_local_mark(), ug::GetFaceIndex(), ug::GetVertexIndex(), grid(), marked_closure(), marked_full(), marked_local(), ug::MAX_FACE_VERTICES, ug::Face::num_edges(), ug::FaceVertices::num_vertices(), UG_COND_THROW, and ug::FaceVertices::vertices().
Referenced by ug::LocalMarkAdjuster::ref_marks_changed().
|
inlinevirtual |
returns the local mark of the specified face or volume.
If the i-th edge of the element shall be refined, it holds true: 'get_local_mark(e) & 1<<i != 0'
Reimplemented in ug::HangingNodeRefiner_Grid.
Referenced by get_local_edge_mark(), get_local_face_mark(), and ug::LocalMarkAdjuster::ref_marks_changed().
|
inlinevirtual |
returns the local mark of the specified face or volume.
If the i-th edge of the element shall be refined, it holds true: 'get_local_mark(e) & 1<<i != 0'
Reimplemented in ug::HangingNodeRefiner_Grid.
|
inlinevirtual |
Returns the mark of a given element. Default returns RM_REFINE.
Reimplemented in ug::HangingNodeRefinerBase< TSelector >, ug::HangingNodeRefinerBase< MGSelector >, and ug::HangingNodeRefinerBase< Selector >.
References ug::RM_REFINE.
|
inlinevirtual |
Returns the mark of a given element. Default returns RM_REFINE.
Reimplemented in ug::HangingNodeRefinerBase< TSelector >, ug::HangingNodeRefinerBase< MGSelector >, and ug::HangingNodeRefinerBase< Selector >.
References ug::RM_REFINE.
|
virtual |
returns the mark of the specified geometric object
The default implementation casts the object to a more concrete type (Vertex, Edge, Face, Volume) and calls the appropriate get_mark method.
References ug::GridObject::base_object_id(), ug::EDGE, ug::FACE, get_mark(), ug::RM_NONE, ug::VERTEX, and ug::VOLUME.
|
inlinevirtual |
Returns the mark of a given element. Default returns RM_REFINE.
Reimplemented in ug::HangingNodeRefinerBase< TSelector >, ug::HangingNodeRefinerBase< MGSelector >, and ug::HangingNodeRefinerBase< Selector >.
References ug::RM_REFINE.
Referenced by ug::ComPol_BroadcastRefineMarks< TLayout >::collect(), ug::BalanceWeightsRefMarks::consider_in_level_above_impl(), ug::ComPol_BroadcastRefineMarks< TLayout >::extract(), get_mark(), ug::BalanceWeightsRefMarks::get_refined_weight(), ug::mark_if_periodic(), marked_closure(), marked_full(), marked_local(), ug::MarkElementsForCoarsening(), ug::MarkForAdaption_ResidualErrorP1Absolute(), ug::HorizontalAnisotropyAdjuster< TAPos >::ref_marks_changed(), ug::LocalMarkAdjuster::ref_marks_changed(), ug::MGHNodeAdjuster::ref_marks_changed(), ug::ShadowCopyAdjuster::ref_marks_changed(), and ug::StdHNodeAdjuster::ref_marks_changed().
|
inlinevirtual |
Returns the mark of a given element. Default returns RM_REFINE.
Reimplemented in ug::HangingNodeRefinerBase< TSelector >, ug::HangingNodeRefinerBase< MGSelector >, and ug::HangingNodeRefinerBase< Selector >.
References ug::RM_REFINE.
|
pure virtual |
Returns the grid associated with the refiner.
Pure virtual. Specify this method in derived classes!
Implemented in ug::HangingNodeRefiner_MultiGrid, ug::HangingNodeRefiner_Grid, ug::GlobalMultiGridRefiner, and ug::GlobalFracturedMediaRefiner.
Referenced by get_local_face_mark(), ug::ExpectedErrorMarkingStrategy< TDomain >::mark(), ug::mark_if_periodic(), ug::MarkForRefinement_SubsetInterfaceElements(), num_marked_elements(), ug::ParallelHNodeAdjuster::ref_marks_changed(), ug::HorizontalAnisotropyAdjuster< TAPos >::ref_marks_changed(), ug::LocalMarkAdjuster::ref_marks_changed(), ug::MGHNodeAdjuster::ref_marks_changed(), ug::ShadowCopyAdjuster::ref_marks_changed(), ug::StdHNodeAdjuster::ref_marks_changed(), and refine().
|
inlinevirtual |
returns true, if the refiner supports local marks.
Reimplemented in ug::HangingNodeRefiner_Grid.
|
inline |
|
inlinevirtual |
Marks an element for refinement. Default implementation is empty.
Reimplemented in ug::HangingNodeRefiner_Grid, ug::HangingNodeRefinerBase< TSelector >, ug::HangingNodeRefinerBase< MGSelector >, and ug::HangingNodeRefinerBase< Selector >.
|
inlinevirtual |
Marks an element for refinement. Default implementation is empty.
Reimplemented in ug::HangingNodeRefiner_Grid, ug::HangingNodeRefinerBase< TSelector >, ug::HangingNodeRefinerBase< MGSelector >, and ug::HangingNodeRefinerBase< Selector >.
|
virtual |
marks the specified geometric object
The default implementation casts the object to a more concrete type (Vertex, Edge, Face, Volume) and calls the appropriate mark method.
References ug::GridObject::base_object_id(), ug::EDGE, ug::FACE, mark(), ug::VERTEX, and ug::VOLUME.
|
inlinevirtual |
Marks an element for refinement. Default implementation is empty.
Reimplemented in ug::HangingNodeRefiner_Grid, ug::HangingNodeRefinerBase< TSelector >, ug::HangingNodeRefinerBase< MGSelector >, and ug::HangingNodeRefinerBase< Selector >.
Referenced by ug::ComPol_BroadcastRefineMarks< TLayout >::extract(), mark(), ug::GlobalMarking< TDomain >::mark(), ug::ExpectedErrorMarkingStrategy< TDomain >::mark(), ug::MeanValueMarking< TDomain >::mark(), ug::AbsoluteMarking< TDomain >::mark(), ug::VarianceMarking< TDomain >::mark(), ug::VarianceMarkingEta< TDomain >::mark(), ug::MaximumMarking< TDomain >::mark(), ug::APosterioriCoarsening< TDomain >::mark(), ug::EquilibrationMarkingStrategy< TDomain >::mark(), ug::mark_if_periodic(), ug::MarkAnisotropic_LongEdges(), ug::MarkElements(), ug::MarkElementsAbsolute(), ug::MarkElementsForCoarsening(), ug::MarkElementsForRefinement(), ug::MarkForAdaption_ElementsContainingPoint(), ug::MarkForAdaption_ElementsTouchingSubset(), ug::MarkForCoarsenening_SurfaceLayer(), ug::MarkForRefinement_AnisotropicDirection(), ug::MarkForRefinement_ElementsInSubset(), ug::MarkForRefinement_SubsetInterfaceElements(), ug::HorizontalAnisotropyAdjuster< TAPos >::ref_marks_changed(), ug::LocalMarkAdjuster::ref_marks_changed(), ug::MGHNodeAdjuster::ref_marks_changed(), ug::ShadowCopyAdjuster::ref_marks_changed(), and ug::StdHNodeAdjuster::ref_marks_changed().
|
inlinevirtual |
Marks an element for refinement. Default implementation is empty.
Reimplemented in ug::HangingNodeRefiner_Grid, ug::HangingNodeRefinerBase< TSelector >, ug::HangingNodeRefinerBase< MGSelector >, and ug::HangingNodeRefinerBase< Selector >.
|
inlinevirtual |
Marks a face or volume for local refinement.
The passed mark is an or combination. If the i-th edge of the element shall be refined, it should hold true: 'mark & 1<<i != 0'. The passed element will also receive the RM_LOCAL flag.
Reimplemented in ug::HangingNodeRefiner_Grid.
References UG_THROW.
Referenced by ug::LocalMarkAdjuster::ref_marks_changed().
|
inlinevirtual |
Marks a face or volume for local refinement.
The passed mark is an or combination. If the i-th edge of the element shall be refined, it should hold true: 'mark & 1<<i != 0'. The passed element will also receive the RM_LOCAL flag.
Reimplemented in ug::HangingNodeRefiner_Grid.
References UG_THROW.
|
inline |
marks the neighborhood of currently marked elements.
In each step direct neighbors of currently marked elements are selected. The number of iterations thus specifies the width of the neighborhood which will be marked. Calls mark_neighborhood(numIterations, RM_NONE, false)
References ug::RM_NONE.
Referenced by ug::MarkNeighborsForAnisotropicRefinement(), and ug::MarkNeighborsForFullRefinement().
|
inlinevirtual |
marks the neighborhood of currently marked elements.
In each step direct neighbors of currently marked elements are also marked. You may specify the refinement mark that will be applied to newly mared elements
Reimplemented in ug::HangingNodeRefinerBase< TSelector >, ug::HangingNodeRefinerBase< MGSelector >, and ug::HangingNodeRefinerBase< Selector >.
|
inline |
References get_mark(), and ug::RM_CLOSURE.
Referenced by get_local_edge_mark(), and get_local_face_mark().
|
inline |
References get_mark(), and ug::RM_FULL.
Referenced by get_local_edge_mark(), get_local_face_mark(), ug::LocalMarkAdjuster::ref_marks_changed(), and ug::ShadowCopyAdjuster::ref_marks_changed().
|
inline |
References get_mark(), and ug::RM_LOCAL.
Referenced by get_local_edge_mark(), get_local_face_mark(), ug::HangingNodeRefiner_Grid::mark_local(), and ug::LocalMarkAdjuster::ref_marks_changed().
|
inline |
returns the number of (globally) marked edges on all levels of the hierarchy
References num_marked_edges().
Referenced by num_marked_edges(), and num_marked_elements().
size_t ug::IRefiner::num_marked_edges | ( | std::vector< int > & | numMarkedEdgesOut | ) |
returns the number of (globally) marked edges on all levels of the hierarchy
References pcl::ProcessCommunicator::allreduce(), num_marked_edges_local(), and PCL_RO_SUM.
Referenced by ug::CreateProcessHierarchy().
|
protectedpure virtual |
returns the number of locally marked edges on all levels of the hierarchy
Implemented in ug::HangingNodeRefiner_MultiGrid, ug::HangingNodeRefiner_Grid, ug::GlobalMultiGridRefiner, and ug::GlobalFracturedMediaRefiner.
Referenced by num_marked_edges().
|
inline |
returns the number of (globally) marked grid-objects of highest dimension
References num_marked_elements().
Referenced by num_marked_elements().
size_t ug::IRefiner::num_marked_elements | ( | std::vector< int > & | numMarkedElemsOut | ) |
returns the number of (globally) marked grid-objects of highest dimension
References pcl::ProcessCommunicator::allreduce(), grid(), ug::Grid::num(), num_marked_edges(), num_marked_faces(), num_marked_volumes(), and PCL_RO_SUM.
|
inline |
returns the number of (globally) marked faces on all levels of the hierarchy
References num_marked_faces().
Referenced by num_marked_elements(), and num_marked_faces().
size_t ug::IRefiner::num_marked_faces | ( | std::vector< int > & | numMarkedFacesOut | ) |
returns the number of (globally) marked faces on all levels of the hierarchy
References pcl::ProcessCommunicator::allreduce(), num_marked_faces_local(), and PCL_RO_SUM.
Referenced by ug::CreateProcessHierarchy().
|
protectedpure virtual |
returns the number of locally marked faces on all levels of the hierarchy
Implemented in ug::HangingNodeRefiner_MultiGrid, ug::HangingNodeRefiner_Grid, ug::GlobalMultiGridRefiner, and ug::GlobalFracturedMediaRefiner.
Referenced by num_marked_faces().
|
inline |
returns the number of (globally) marked volumes on all levels of the hierarchy
References num_marked_volumes().
Referenced by num_marked_elements(), and num_marked_volumes().
size_t ug::IRefiner::num_marked_volumes | ( | std::vector< int > & | numMarkedVolsOut | ) |
returns the number of (globally) marked volumes on all levels of the hierarchy
References pcl::ProcessCommunicator::allreduce(), num_marked_volumes_local(), and PCL_RO_SUM.
Referenced by ug::CreateProcessHierarchy().
|
protectedpure virtual |
returns the number of locally marked volumes on all levels of the hierarchy
Implemented in ug::HangingNodeRefiner_MultiGrid, ug::HangingNodeRefiner_Grid, ug::GlobalMultiGridRefiner, and ug::GlobalFracturedMediaRefiner.
Referenced by num_marked_volumes().
|
inlineprotectedvirtual |
Called by coarsen(). Derived classes sould implement their coarsen algorithm here.
Since the default implementation does not perform coarsening, it returns false.
Reimplemented in ug::HangingNodeRefiner_MultiGrid, and ug::AdaptiveRegularRefiner_MultiGrid.
Referenced by coarsen().
|
protectedpure virtual |
called by refine(). Derived classes should implement their refinement algorithm here.
Implemented in ug::HangingNodeRefinerBase< TSelector >, ug::HangingNodeRefinerBase< MGSelector >, ug::HangingNodeRefinerBase< Selector >, ug::GlobalMultiGridRefiner, ug::GlobalFracturedMediaRefiner, and ug::AdaptiveRegularRefiner_MultiGrid.
|
inline |
References m_projector.
Referenced by ug::GlobalFracturedMediaRefiner::perform_refinement(), ug::GlobalMultiGridRefiner::perform_refinement(), and set_projector().
void ug::IRefiner::refine | ( | ) |
Performs refinement on the marked elements.
internally calls the virtual method 'perform_refinement'
References ug::aPosition, grid(), ug::Grid::has_vertex_attachment(), SmartPtr< T, FreePolicy >::invalid(), m_projector, make_sp(), ug::MakeGeometry3d(), PCL_DEBUG_BARRIER_ALL, and PROFILE_BEGIN_GROUP.
Referenced by ug::bridge::CreateHierarchy(), ug::bridge::CreateSmoothHierarchy(), and ug::LoadAndRefineDomain().
|
pure virtual |
Writes the associated grid and marks to a file. Pure virtual.
Elements should be assigned to subsets depending on their current refinement-mark.
Implemented in ug::HangingNodeRefinerBase< TSelector >, ug::HangingNodeRefinerBase< MGSelector >, ug::HangingNodeRefinerBase< Selector >, ug::GlobalMultiGridRefiner, and ug::GlobalFracturedMediaRefiner.
void ug::IRefiner::set_adjusted_marks_debug_filename | ( | const char * | filename | ) |
sets a filename to which adjusted marks are saved during refinement / coarsening
If no filename is set, then no marks are being saved during refinement / coarsening. If you want to unset the file, either pass a NULL pointer or an empty string.
References m_adjustedMarksDebugFilename.
|
protected |
sets the message hub.
A message hub is required, since it is used transmit messages regarding adaption, refinement and coarsening.
References m_messageHub.
Referenced by ug::GlobalFracturedMediaRefiner::assign_grid(), and ug::GlobalMultiGridRefiner::assign_grid().
|
inline |
References m_projector, and projector().
|
protected |
Referenced by adaption_begins(), and coarsen().
|
protected |
|
protected |
Referenced by debugging_enabled(), and enable_debugging().
|
protected |
Referenced by adaption_begins(), adaption_ends(), coarsen(), ug::HangingNodeRefiner_MultiGrid::collect_objects_for_coarsen(), ug::HangingNodeRefiner_MultiGrid::perform_coarsening(), ug::GlobalFracturedMediaRefiner::perform_refinement(), ug::GlobalMultiGridRefiner::perform_refinement(), and set_message_hub().
|
protected |
|
protected |
Referenced by ug::AdaptiveRegularRefiner_MultiGrid::create_closure_elements_2d(), ug::AdaptiveRegularRefiner_MultiGrid::create_closure_elements_3d(), ug::GlobalFracturedMediaRefiner::perform_refinement(), ug::GlobalMultiGridRefiner::perform_refinement(), ug::HangingNodeRefiner_MultiGrid::pre_refine(), projector(), refine(), and set_projector().