* hyperball and the like. Following is a list of domains that can be generated
* by the functions of this class:
* <ul>
- * <li> Hypercube triangulations: a hypercube triangulation is a
- * domain which is the tensor product of an interval $[a,b]$ in
- * the given number of spatial dimensions. If you want to create such
- * a domain, which is a common test case for model problems, call
- * GridGenerator::hyper_cube(tria, a,b), which produces a
- * hypercube domain triangulated with exactly one element. You
- * can get tensor product meshes by successive refinement of
- * this cell.
- *
- * If you want the hypercube subdivided a certain number of
- * times (and if this is not achievable by hierarchic
- * refinement, for example 3 times), then the
- * @p subdivided_hyper_cube function may be what you are
- * looking for.
- *
- * <li> Rectangular coordinate-parallel domains as a generalization
- * of hypercubes are generated by
- * GridGenerator::hyper_rectangle (tria, p1, p2), with two
- * opposite corner points @p p1 and @p p2.
- *
- * <li> Rectangular coordinate-parallel domains with different numbers of
- * cells in each coordinate direction are generated by
- * GridGenerator::subdivided_hyper_rectangle
- * (tria, int[dim] repetitions, p1, p2, colorize), with two
- * opposite corner points @p p1 and @p p2.
- *
* <li> Generalized L-shape domain:
* using the GridGenerator::hyper_L (tria, a,b) function produces
* the hypercube with the interval $[a,b]$ without the hypercube
* (line in 1D, square in 2D,
* etc) consisting of exactly one
* cell. The hypercube volume is
- * the tensor product of the
- * intervall $[left,right]$ in
- * the present number of
+ * the tensor product interval
+ * <i>[left,right]<sup>dim</sup></i>
+ * in the present number of
* dimensions, where the limits
* are given as arguments. They
* default to zero and unity,
* then producing the unit
* hypercube.
*
- * The triangulation needs to be
+ * See also
+ * subdivided_hyper_cube() for a
+ * coarse mesh consisting of
+ * several cells. See
+ * hyper_rectangle(), if
+ * different lengths in different
+ * ordinate directions are
+ * required.
+ *
+ * @note The triangulation needs to be
* void upon calling this
* function.
*/
* @p repetitions cells. Thus,
* the number of cells filling
* the given volume is
- * <tt>repetitions^d</tt>.
+ * <tt>repetitions<sup>dim</sup></tt>.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
template <int dim>
static void subdivided_hyper_cube (Triangulation<dim> &tria,
*
* To get cells with an aspect
* ratio different from that of
- * the recatangle, use different
+ * the domain, use different
* numbers of subdivisions in
* different coordinate
* directions. The minimum number
* @p y-direction are 2 and 3,
* the ones for @p z are 4 and
* 5.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
template <int dim>
static
*
* @note This function is
* implemented in 2d only.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
template <int dim>
static void
*
* Presently only available in 2d
* and 3d.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void enclosed_hyper_cube (Triangulation<2> &tria,
const double left = 0.,
/**
* Declaration of same function
* for different space dimension.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void enclosed_hyper_cube (Triangulation<3> &tria,
const double left = 0.,
* cope with this situation, but
* this has not been implemented
* yet.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void hyper_ball (Triangulation<1> &tria,
const Point<1> ¢er = Point<1>(),
/**
* Declaration of same function
* for different space dimension.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void hyper_ball (Triangulation<2> &tria,
const Point<2> ¢er = Point<2>(),
/**
* Declaration of same function
* for different space dimension.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void hyper_ball (Triangulation<3> &tria,
const Point<3> ¢er = Point<3>(),
* cylinder, 1 for the left hand
* face and 2 for the right hand
* face.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void cylinder (Triangulation<3> &tria,
const double radius = 1.,
* Therefore, this is simply a square.
*
* Coloring is like in 3D.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void cylinder (Triangulation<2> &tria,
const double radius = 1.,
/**
* Non-implemented dummy for compilation
* purposes.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void cylinder (Triangulation<1> &tria,
const double radius,
* all space dimensions, but
* throws an error if called in
* 1d.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void hyper_L (Triangulation<1> &tria,
const double left = -1.,
/**
* Declaration of same function
* for different space dimension.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void hyper_L (Triangulation<2> &tria,
const double left = -1.,
/**
* Declaration of same function
* for different space dimension.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void hyper_L (Triangulation<3> &tria,
const double left = -1.,
* throws an error if called in
* 1d. It is also presently not
* implemented in 3d.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void hyper_cube_slit (Triangulation<1> &tria,
const double left = 0.,
* carry numbers 1 and 2, while
* the outer boundary has number
* 0.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void hyper_cube_slit (Triangulation<2> &tria,
const double left = 0.,
*
* Colorization is not
* implemented in 3D.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void hyper_cube_slit (Triangulation<3> &tria,
const double left = 0.,
* throws an error if called in
* 1d. It is also currently not
* implemented in 3d.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void hyper_shell (Triangulation<1> &tria,
const Point<1> ¢er,
/**
* Declaration of same function
* for different space dimension.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void hyper_shell (Triangulation<2> &tria,
const Point<2> ¢er,
/**
* Declaration of same function
* for different space dimension.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void hyper_shell (Triangulation<3> &tria,
const Point<3> ¢er,
*
* The triangulation needs to be void
* upon calling this function.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void cylinder_shell (Triangulation<3> &tria,
const double length,
* version is implemented. The appropriate
* boundary class is
* HalfHyperBallBoundary.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void half_hyper_ball (Triangulation<2> &tria,
const Point<2> ¢er = Point<2>(),
*
* At present, this function only
* exists in 2d.
+ *
+ * @note The triangulation needs to be
+ * void upon calling this
+ * function.
*/
static void half_hyper_shell (Triangulation<2> &tria,
const Point<2> ¢er,