|
| THangingNodeRefiner (MultiGrid &mg, SPRefinementProjector projector=SPNULL) |
|
| THangingNodeRefiner (SPRefinementProjector projector=SPNULL) |
|
virtual bool | adaptivity_supported () const |
| returns whether the refiner is able to perform adaptive refinement More...
|
|
virtual void | assign_grid (MultiGrid &mg) |
|
virtual bool | coarsening_supported () const |
| returns true, if the refiner supports coarsening. More...
|
|
virtual Grid * | get_associated_grid () |
| DEPRECIATED! Use grid(). Has to return the associated grid. Pure virtual. More...
|
|
virtual Grid * | grid () |
| Returns the grid associated with the refiner. More...
|
|
virtual void | grid_to_be_destroyed (Grid *grid) |
|
| HangingNodeRefiner_MultiGrid (MultiGrid &mg, SPRefinementProjector projector=SPNULL) |
|
| HangingNodeRefiner_MultiGrid (SPRefinementProjector projector=SPNULL) |
|
virtual MultiGrid * | multi_grid () |
|
virtual | ~HangingNodeRefiner_MultiGrid () |
|
void | add_ref_mark_adjuster (SPIRefMarkAdjuster adjuster) |
| Add a refmark adjuster, which will be called while marks are adjusted during refinement / coarsening. More...
|
|
virtual void | clear_marks () |
| clears all marks. Default implementation is empty More...
|
|
| HangingNodeRefinerBase (SPRefinementProjector projector=SPNULL) |
|
void | mark (const TIterator &iterBegin, const TIterator &iterEnd, RefinementMark refMark=RM_REFINE) |
| marks all elements between iterBegin and iterEnd. More...
|
|
virtual bool | mark (Edge *e, RefinementMark refMark=RM_REFINE) |
|
virtual bool | mark (Face *f, RefinementMark refMark=RM_REFINE) |
|
virtual bool | mark (GridObject *o, RefinementMark refMark=RM_REFINE) |
| marks the specified geometric object More...
|
|
virtual bool | mark (Vertex *v, RefinementMark refMark=RM_REFINE) |
| Marks an element for refinement. Default implementation is empty. More...
|
|
virtual bool | mark (Volume *v, RefinementMark refMark=RM_REFINE) |
|
virtual void | mark_neighborhood (size_t numIterations, RefinementMark refMark, bool sideNbrsOnly) |
| Marks the neighborhood of the current selection. More...
|
|
bool | marked_adaptive (TElem *elem) const |
|
bool | marked_coarsen (TElem *elem) const |
|
bool | marked_refine (Edge *elem) const |
|
bool | marked_refine (TElem *elem) const |
|
bool | marked_regular (TElem *elem) const |
|
virtual bool | save_marks_to_file (const char *filename) |
| Writes the associated grid and marks to a file. Pure virtual. More...
|
|
virtual | ~HangingNodeRefinerBase () |
|
void | enable_node_dependency_order_1 (bool bEnable) |
| enables or disables node-dependency-order-1. More...
|
|
bool | node_dependency_order_1_enabled () |
| enables or disables node-dependency-order-1. More...
|
|
virtual bool | mark (Vertex *v, RefinementMark refMark=RM_REFINE) |
| Marks a element for refinement. More...
|
|
virtual bool | mark (Edge *e, RefinementMark refMark=RM_REFINE) |
| Marks a element for refinement. More...
|
|
virtual bool | mark (Face *f, RefinementMark refMark=RM_REFINE) |
| Marks a element for refinement. More...
|
|
virtual bool | mark (Volume *v, RefinementMark refMark=RM_REFINE) |
| Marks a element for refinement. More...
|
|
virtual RefinementMark | get_mark (Vertex *v) const |
| Returns the mark of a given element. More...
|
|
virtual RefinementMark | get_mark (Edge *e) const |
| Returns the mark of a given element. More...
|
|
virtual RefinementMark | get_mark (Face *f) const |
| Returns the mark of a given element. More...
|
|
virtual RefinementMark | get_mark (Volume *v) const |
| Returns the mark of a given element. More...
|
|
bool | coarsen () |
| Performs coarsening on the elements marked RM_COARSEN. More...
|
|
bool | debugging_enabled () const |
|
void | enable_debugging (bool enable) |
|
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...
|
|
| 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...
|
|
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...
|
|
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 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...
|
|
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...
|
|
virtual void | elements_to_be_cleared (Grid *grid) |
|
virtual | ~GridObserver () |
|
virtual void | vertex_created (Grid *grid, Vertex *vrt, GridObject *pParent=NULL, bool replacesParent=false) |
| Notified whenever a new element of the given type is created in the given grid. More...
|
|
virtual void | edge_created (Grid *grid, Edge *e, GridObject *pParent=NULL, bool replacesParent=false) |
| Notified whenever a new element of the given type is created in the given grid. More...
|
|
virtual void | face_created (Grid *grid, Face *f, GridObject *pParent=NULL, bool replacesParent=false) |
| Notified whenever a new element of the given type is created in the given grid. More...
|
|
virtual void | volume_created (Grid *grid, Volume *vol, GridObject *pParent=NULL, bool replacesParent=false) |
| Notified whenever a new element of the given type is created in the given grid. More...
|
|
virtual void | vertex_to_be_erased (Grid *grid, Vertex *vrt, Vertex *replacedBy=NULL) |
| Notified whenever an element of the given type is erased from the given grid. More...
|
|
virtual void | edge_to_be_erased (Grid *grid, Edge *e, Edge *replacedBy=NULL) |
| Notified whenever an element of the given type is erased from the given grid. More...
|
|
virtual void | face_to_be_erased (Grid *grid, Face *f, Face *replacedBy=NULL) |
| Notified whenever an element of the given type is erased from the given grid. More...
|
|
virtual void | volume_to_be_erased (Grid *grid, Volume *vol, Volume *replacedBy=NULL) |
| Notified whenever an element of the given type is erased from the given grid. More...
|
|
virtual void | vertices_to_be_merged (Grid *grid, Vertex *target, Vertex *elem1, Vertex *elem2) |
| Notified when two elements of the same type are going to be merged. More...
|
|
virtual void | edges_to_be_merged (Grid *grid, Edge *target, Edge *elem1, Edge *elem2) |
| Notified when two elements of the same type are going to be merged. More...
|
|
virtual void | faces_to_be_merged (Grid *grid, Face *target, Face *elem1, Face *elem2) |
| Notified when two elements of the same type are going to be merged. More...
|
|
virtual void | volumes_to_be_merged (Grid *grid, Volume *target, Volume *elem1, Volume *elem2) |
| Notified when two elements of the same type are going to be merged. More...
|
|
|
typedef HangingNodeRefinerBase< MGSelector > | BaseClass |
|
enum | HNodeCoarsenMarks {
HNCM_FIRST = HNRM_MAX + 1
, HNCM_NO_NBRS
, HNCM_NONE
, HNCM_PARTIAL
,
HNCM_REPLACE
, HNCM_ALL
, HNCM_INVALID
, HNCM_UNKNOWN
} |
|
enum | HNodeRefMarks |
|
typedef MGSelector | selector_t |
|
typedef TSelector::template traits< Edge >::iterator | sel_edge_iter |
|
typedef TSelector::template traits< Face >::iterator | sel_face_iter |
|
typedef TSelector::template traits< Volume >::iterator | sel_vol_iter |
|
typedef TSelector::template traits< Vertex >::iterator | sel_vrt_iter |
|
virtual void | assign_hnode_marks () |
|
virtual void | broadcast_marks_horizontally (bool vertices, bool edges, bool faces, bool allowDeselection=false) |
|
virtual void | broadcast_marks_vertically (bool vertices, bool edges, bool faces, bool volumes, bool allowDeselection=false) |
|
virtual bool | contains_edges () |
| called to check, whether another iteration of collect_objects_for_coarsen has to be performed. More...
|
|
virtual bool | contains_faces () |
| allows to check whether a distributed grid contains faces More...
|
|
virtual bool | contains_volumes () |
| allows to check whether a distributed grid contains volumes More...
|
|
virtual void | copy_marks_to_vmasters (bool vertices, bool edges, bool faces, bool volumes) |
|
virtual void | copy_marks_to_vslaves (bool vertices, bool edges, bool faces, bool volumes) |
|
void | debug_save (ISelector &sel, const char *filename) |
| temporary method, which will be removed when debugging is done. More...
|
|
virtual void | num_marked_edges_local (std::vector< int > &numMarkedEdgesOut) |
| returns the number of (globally) marked edges on this level of the hierarchy More...
|
|
template<class TElem > |
void | num_marked_elems (std::vector< int > &numMarkedElemsOut) |
|
virtual void | num_marked_faces_local (std::vector< int > &numMarkedFacesOut) |
| returns the number of (globally) marked faces on this level of the hierarchy More...
|
|
virtual void | num_marked_volumes_local (std::vector< int > &numMarkedVolsOut) |
| returns the number of (globally) marked volumes on this level of the hierarchy More...
|
|
virtual bool | one_proc_true (bool localProcTrue) |
|
virtual bool | perform_coarsening () |
| performs coarsening on the elements marked with RM_COARSEN. More...
|
|
virtual void | post_coarsen () |
| called after elements have been removed in coarsening More...
|
|
virtual void | pre_coarsen () |
| called before elements are removed in coarsening More...
|
|
virtual void | pre_refine () |
| creates required vertices in higher levels. More...
|
|
virtual bool | refinement_is_allowed (Edge *elem) |
| a callback that allows to deny refinement of special edges More...
|
|
virtual bool | refinement_is_allowed (Face *elem) |
| a callback that allows to deny refinement of special faces More...
|
|
virtual bool | refinement_is_allowed (Vertex *elem) |
| a callback that allows to deny refinement of special vertices More...
|
|
virtual bool | refinement_is_allowed (Volume *elem) |
| a callback that allows to deny refinement of special volumes More...
|
|
void | save_coarsen_marks_to_file (ISelector &sel, const char *filename) |
|
void | set_grid (MultiGrid *mg) |
| performs registration and deregistration at a grid. More...
|
|
virtual void | process_constraining_edge (ConstrainingEdge *cge) |
| calls base implementation and replaces cge with a normal edge. More...
|
|
virtual void | refine_edge_with_normal_vertex (Edge *e, Vertex **newCornerVrts=NULL) |
| calls base implementation and replaces cge with a normal edge. More...
|
|
virtual void | refine_edge_with_hanging_vertex (Edge *e, Vertex **newCornerVrts=NULL) |
| calls base implementation and replaces cge with a normal edge. More...
|
|
virtual void | refine_face_with_normal_vertex (Face *f, Vertex **newCornerVrts=NULL) |
| calls base implementation and replaces cge with a normal edge. More...
|
|
virtual void | refine_face_with_hanging_vertex (Face *f, Vertex **newCornerVrts=NULL) |
| calls base implementation and replaces cge with a normal edge. More...
|
|
virtual void | refine_volume_with_normal_vertex (Volume *v, Vertex **newVolumeVrts=NULL) |
| calls base implementation and replaces cge with a normal edge. More...
|
|
virtual Vertex * | get_center_vertex (Edge *e) |
| Returns the vertex associated with the edge. More...
|
|
virtual void | set_center_vertex (Edge *e, Vertex *v) |
| Associates a vertex with the edge. More...
|
|
virtual Vertex * | get_center_vertex (Face *f) |
| Returns the vertex associated with the face. More...
|
|
virtual void | set_center_vertex (Face *f, Vertex *v) |
| Associates a vertex with the face. More...
|
|
template<class TElem > |
void | collect_child_corners (std::vector< Vertex * > &cornersOut, TElem *elem) |
| collects corner vertices and fills them into the associated vector More...
|
|
virtual void | restrict_selection_to_surface_coarsen_elements () |
| Makes sure that only surface elements are marked and that only coarsen marks are used. More...
|
|
virtual void | restrict_selection_to_coarsen_families () |
| Deselects all elements which have an unselected sibling. More...
|
|
template<class TElem > |
void | restrict_selection_to_surface_coarsen_elements () |
| Deselects all non-surface elements and all elements not marked with RM_COARSEN. More...
|
|
template<class TElem > |
void | restrict_selection_to_coarsen_families () |
| Only complete families (all siblings are selected) may be coarsened. More...
|
|
virtual void | collect_objects_for_coarsen (bool scheduleCoarseningBeginsMessage=false) |
| adjusts the selection marks to those specified in HNodeCoarsenMarks. More...
|
|
void | add_hmark (TElem *elem, HNodeRefMarks mark) |
|
bool | adjusting_ref_marks () const |
|
virtual void | collect_objects_for_refine () |
| marks unmarked elements that have to be refined due to marked neighbors. More...
|
|
virtual bool | continue_collect_objects_for_refine (bool continueRequired) |
|
MGSelector & | get_refmark_selector () |
| returns the selector which is internally used to mark elements. More...
|
|
bool | is_marked (Edge *e) |
|
bool | is_marked (Face *f) |
|
bool | is_marked (Vertex *v) |
|
bool | is_marked (Volume *v) |
|
bool | marked_to_constrained (TElem *elem) const |
|
bool | marked_to_constraining (TElem *elem) const |
|
bool | marked_to_normal (TElem *elem) const |
|
void | perform_refinement () |
| performs refinement on the marked elements. More...
|
|
virtual void | post_refine () |
|
bool | remove_coarsen_marks () |
| removes coarsen marks from the selection More...
|
|
void | remove_hmark (TElem *elem, uint mark) |
|
void | set_grid (typename TSelector::grid_type *grid) |
| performs registration and deregistration at a grid. More...
|
|
virtual void | process_constrained_vertex (ConstrainedVertex *cdv) |
| called to refine the specified element. More...
|
|
virtual void | process_constrained_edge (ConstrainedEdge *cde) |
| called to refine the specified element. More...
|
|
virtual void | process_constrained_face (ConstrainedFace *cdf) |
| called to refine the specified element. More...
|
|
virtual void | process_constraining_face (ConstrainingFace *cgf) |
| called to refine the specified element. More...
|
|
void | set_message_hub (SPMessageHub msgHub) |
| sets the message hub. More...
|
|
std::vector< SPIRefMarkAdjuster > | m_refMarkAdjusters |
|
MGSelector | m_selMarkedElements |
|
bool | m_adaptionIsActive |
|
std::string | m_adjustedMarksDebugFilename |
|
bool | m_debuggingEnabled |
|
SPMessageHub | m_messageHub |
|
int | m_msgIdAdaption |
|
SPRefinementProjector | m_projector |
|