From: Wolfgang Bangerth Date: Fri, 8 Apr 2016 17:25:49 +0000 (-0500) Subject: Better document what the anisotropic refine flags mean. X-Git-Tag: v8.5.0-rc1~1124^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8d6f15aee0e6bf3ed52d119aae6b66eed96ee6ab;p=dealii.git Better document what the anisotropic refine flags mean. --- diff --git a/include/deal.II/base/geometry_info.h b/include/deal.II/base/geometry_info.h index 5b78036807..a321aaca3d 100644 --- a/include/deal.II/base/geometry_info.h +++ b/include/deal.II/base/geometry_info.h @@ -92,7 +92,7 @@ private: * refinement flags in the current space dimension. * * This general template is unused except in some weird template constructs. - * Actual is made, however, of the specializations + * Actual use is made, however, of the specializations * RefinementPossibilities@<1@>, * RefinementPossibilities@<2@>, and * RefinementPossibilities@<3@>. @@ -123,6 +123,19 @@ struct RefinementPossibilities * 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. */ enum Possibilities { @@ -167,6 +180,19 @@ struct RefinementPossibilities<1> * 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. */ enum Possibilities { @@ -213,6 +239,19 @@ struct RefinementPossibilities<2> * 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. */ enum Possibilities { @@ -261,6 +300,19 @@ struct RefinementPossibilities<3> * 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. */ enum Possibilities { @@ -284,7 +336,8 @@ struct RefinementPossibilities<3> * an object with dim dimensions (for example, for a line * dim=1 in whatever space dimension we are, for a quad * dim=2, etc.). Possible values of this class are the ones - * listed in the enumeration declared within the class. + * listed in the enumeration declared within the base class; see there for + * more information. * * @ingroup aniso * @author Ralf Hartmann, 2005, Wolfgang Bangerth, 2007 diff --git a/include/deal.II/grid/tria_accessor.h b/include/deal.II/grid/tria_accessor.h index 24cee13119..94bb215df3 100644 --- a/include/deal.II/grid/tria_accessor.h +++ b/include/deal.II/grid/tria_accessor.h @@ -2683,6 +2683,18 @@ public: * Flag the cell pointed to for refinement. This function is only allowed * for active cells. Keeping the default value for @p ref_case will mark * this cell for isotropic refinement. + * + * If you choose anisotropic refinement, for example by passing as argument + * 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. */ void set_refine_flag (const RefinementCase ref_case = RefinementCase::isotropic_refinement) const;