|
Static Public Member Functions |
void | refine (MeshHierarchy &meshes) |
| Refine a given mesh hierarchy according to marks.
|
Static Protected Member Functions |
void | propagateLeafMarks (MeshHierarchy &meshes) |
void | updateEdgeMarks (MeshHierarchy &meshes) |
| Update marks for edges.
|
void | globalRefinement (MeshHierarchy &meshes) |
void | checkPreCondition (MeshHierarchy &meshes) |
void | checkPostCondition (MeshHierarchy &meshes) |
void | checkNumbering (MeshHierarchy &meshes) |
void | updateEdgeMarks (Mesh &mesh) |
| Update marks for edges.
|
void | evaluateMarks (Mesh &mesh) |
void | closeMesh (Mesh &mesh) |
void | refineMesh (Mesh &mesh) |
void | unrefineMesh (Mesh &mesh, const MeshHierarchy &meshes) |
void | closeCell (Cell &cell, List< Cell * > &cells, Array< bool > &closed) |
| --- Algorithms working on a given cell ---
|
bool | checkRule (Cell &cell, int no_marked_edges) |
| Check refinement rule for given cell.
|
void | refine (Cell &cell, Mesh &mesh) |
void | updateEdgeMarks (Cell &cell) |
| --- A couple of special functions, placed here rather than in Cell --- Update marks for edges
|
bool | childrenMarkedForCoarsening (Cell &cell) |
| Check if all children are marked for coarsening.
|
bool | edgeOfChildMarkedForRefinement (Cell &cell) |
| Check if at least one edge of a child is marked for refinement.
|
bool | edgeMarkedByOther (Cell &cell) |
| Check if the cell has at least one edge marked by another cell (but not the cell itself).
|
void | sortNodes (const Cell &cell, Array< Node * > &nodes) |
| Sort nodes, placing the node belonging to the most number of marked edges first.
|
int | noMarkedEdges (const Cell &cell) |
| Count the number of marked edges within a cell.
|
int | nodeNumber (const Node &node, const Cell &cell) |
| Mapping from global node number to local number within cell.
|
bool | leaf (Cell &cell) |
| Check if a given cell is a leaf element.
|
bool | okToRefine (Cell &cell) |
| Check if cell is allowed to be refined.
|
Node & | createNode (Node &node, Mesh &mesh, const Cell &cell) |
| Create a new node (if it doesn't exist) and set parent-child info.
|
Node & | createNode (const Point &p, Mesh &mesh, const Cell &cell) |
| Create a new node (if it doesn't exist).
|
void | removeNode (Node &node, Mesh &mesh) |
| Remove node.
|
void | removeCell (Cell &cell, Mesh &mesh) |
| Remove cell.
|
Cell & | createChildCopy (Cell &cell, Mesh &mesh) |
| Create a new child to cell, that is a copy of cell.
|