Reference documentation for deal.II version 9.3.3
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Public Types | List of all members
internal::SubfacePossibilities< 3 > Struct Reference

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

Public Types

enum  Possibilities {
  case_none = 0 , case_x = 1 , case_x1y = 2 , case_x2y = 3 ,
  case_x1y2y = 4 , case_y = 5 , case_y1x = 6 , case_y2x = 7 ,
  case_y1x2x = 8 , case_xy = 9 , case_isotropic = case_xy
}
 

Detailed Description

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 |
*---*---*
Point< 2 > first
Definition: grid_out.cc:4587
static const types::blas_int one

Definition at line 1127 of file geometry_info.h.

Member Enumeration Documentation

◆ Possibilities

enum internal::SubfacePossibilities< 3 >::Possibilities

Possible cases of faces being subdivided into subface.

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

Enumerator
case_none 
case_x 
case_x1y 
case_x2y 
case_x1y2y 
case_y 
case_y1x 
case_y2x 
case_y1x2x 
case_xy 
case_isotropic 

Definition at line 1135 of file geometry_info.h.


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