Reference documentation for deal.II version 9.0.0
Public Types | List of all members
internal::SubfacePossibilities< 3 > Struct Template Reference

#include <deal.II/base/geometry_info.h>

Public Types

enum  Possibilities
 

Detailed Description

template<>
struct internal::SubfacePossibilities< 3 >

A class that provides all possible situations a face (in the current space dimension dim) might be subdivided into subfaces.

This specialization is used for dim=3, where it offers following possibilities: a face (quad) being refined in x- or y-direction (in the face-intern coordinate system) separately, (case_x or (case_y), and in both directions (case_x which corresponds to (case_isotropic). Additionally, it offers the possibilities a face can have through repeated anisotropic refinement steps performed on one of the two neighboring cells. It might be possible for example, that a face (quad) is refined with cut_x and afterwards the left child is again refined with cut_y, so that there are three active subfaces. Note, however, that only refinement cases are allowed such that each line on a face between two hexes has not more than one hanging node. Furthermore, it is not allowed that two neighboring hexes are refined such that one of the hexes refines the common face with cut_x and the other hex refines that face with cut_y. In fact, Triangulation::prepare_coarsening_and_refinement takes care of this situation and ensures that each face of a refined cell is completely contained in a single face of neighboring cells.

The following drawings explain the SubfacePossibilities and give the corresponding subface numbers:

*-------*
| |
| 0 | case_none
| |
*-------*
*---*---*
| | |
| 0 | 1 | case_x
| | |
*---*---*
*---*---*
| 1 | |
*---* 2 | case_x1y
| 0 | |
*---*---*
*---*---*
| | 2 |
| 0 *---* case_x2y
| | 1 |
*---*---*
*---*---*
| 1 | 3 |
*---*---* case_x1y2y (successive refinement: first cut_x, then cut_y for both children)
| 0 | 2 |
*---*---*
*-------*
| 1 |
*-------* case_y
| 0 |
*-------*
*-------*
| 2 |
*---*---* case_y1x
| 0 | 1 |
*---*---*
*---*---*
| 1 | 2 |
*---*---* case_y2x
| 0 |
*-------*
*---*---*
| 2 | 3 |
*---*---* case_y1x2x (successive refinement: first cut_y, then cut_x for both children)
| 0 | 1 |
*---+---*
*---*---*
| 2 | 3 |
*---*---* case_xy (one isotropic refinement step)
| 0 | 1 |
*---*---*
Author
Tobias Leicht 2007, Ralf Hartmann, 2008

Definition at line 932 of file geometry_info.h.

Member Enumeration Documentation

◆ Possibilities

Possible cases of faces being subdivided into subface.

See documentation to the SubfacePossibilities<3> for more details on the subface possibilities.

Definition at line 940 of file geometry_info.h.


The documentation for this struct was generated from the following file: