Reference documentation for deal.II version 9.1.1
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
Public Types | List of all members
RefinementPossibilities< 3 > Struct Template Reference

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

Public Types

enum  Possibilities {
  no_refinement = 0, cut_x = 1, cut_y = 2, cut_xy = cut_x | cut_y,
  cut_z = 4, cut_xz = cut_x | cut_z, cut_yz = cut_y | cut_z, cut_xyz = cut_x | cut_y | cut_z,
  isotropic_refinement = cut_xyz
}
 

Detailed Description

template<>
struct RefinementPossibilities< 3 >

A class that provides possible choices for isotropic and anisotropic refinement flags in the current space dimension.

This specialization is used for dim=3, where it offers refinement in x-, y- and z-direction separately, as well as combinations of these and isotropic refinement in all directions at the same time.

Author
Ralf Hartmann, 2005, Wolfgang Bangerth, 2007

Definition at line 528 of file geometry_info.h.

Member Enumeration Documentation

◆ Possibilities

Possible values for refinement cases in the current dimension.

Note the construction of the values: the lowest bit describes a cut of the x-axis, the second to lowest bit corresponds to a cut of the y-axis and the third to lowest bit corresponds to a cut of the z-axis. Thus, the following relations hold (among others):

Only those cuts that are reasonable in a given space dimension are offered, of course.

In addition, the tag isotropic_refinement denotes isotropic refinement in the space dimension selected by the template argument of this class.

If you choose anisotropic refinement, for example by passing as argument to CellIterator::set_refine_flag() one of the flags RefinementCase::cut_x, RefinementCase::cut_y, RefinementCase::cut_z, or a combination of these, then keep in mind that refining in x-, y-, or z-direction happens with regard to the local coordinate system of the cell. In other words, these flags determine which edges and faces of the cell will be cut into new edges and faces. On the other hand, this process is independent of how the cell is oriented within the global coordinate system, and you should not assume any particular orientation of the cell's local coordinate system within the global coordinate system of the space it lives in.

Enumerator
no_refinement 

Do not refine.

cut_x 

Perform a cut in the x-direction.

cut_y 

Perform a cut in the y-direction.

cut_xy 

Perform a cut in the x and y-directions.

cut_z 

Perform a cut in the z-direction.

cut_xz 

Perform a cuts in the x- and y-directions.

cut_yz 

Perform a cuts in the x- and y-directions.

cut_xyz 

Perform a cuts in the x-, y-, and z-directions.

isotropic_refinement 

Perform isotropic refinement.

Definition at line 564 of file geometry_info.h.


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