From c24ca242da5ebeca390042e413b9042c2f50f9f0 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Mon, 23 Jan 2006 23:24:42 +0000 Subject: [PATCH] Explain face orientation. git-svn-id: https://svn.dealii.org/trunk@12139 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/doc/doxygen/headers/glossary.h | 34 ++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/deal.II/doc/doxygen/headers/glossary.h b/deal.II/doc/doxygen/headers/glossary.h index f8ae81df6c..653340a87f 100644 --- a/deal.II/doc/doxygen/headers/glossary.h +++ b/deal.II/doc/doxygen/headers/glossary.h @@ -13,6 +13,40 @@ *
Mesh cells not refined any further in the hierarchy.
* * + *
@anchor GlossFaceOrientation Face orientation
+ *
In a triangulation, the normal vector to a face + * can be deduced from the face orientation by + * applying the right hand side rule (x,y -> normal). We note, that + * in the standard orientation of faces in 2d, faces 0 and 2 have + * normals that point into the cell, and faces 1 and 3 have normals + * pointing outward. In 3d, faces 0, 2, and 4 + * have normals that point into the cell, while the normals of faces + * 1, 3, and 5 point outward. This information, again, can be queried from + * GeometryInfo::unit_normal_orientation. + * + * However, it turns out that a significant number of 3d meshes cannot + * satisfy this convention. This is due to the fact that the face + * convention for one cell already implies something for the + * neighbor, since they share a common face and fixing it for the + * first cell also fixes the normal vectors of the opposite faces of + * both cells. It is easy to construct cases of loops of cells for + * which this leads to cases where we cannot find orientations for + * all faces that are consistent with this convention. + * + * For this reason, above convention is only what we call the + * standard orientation. deal.II actually allows faces in 3d + * to have either the standard direction, or its opposite, in which + * case the lines that make up a cell would have reverted orders, and + * the normal vector would have the opposite direction. You can ask a + * cell whether a given face has standard orientation by calling + * cell->face_orientation(face_no): if the result is @p true, + * then the face has standard orientation, otherwise its normal vector + * is pointing the other direction. There are not very many places in + * application programs where you need this information actually, but + * a few places in the library make use of this. Note that in 2d, the + * result is always @p true. + * + * *
@anchor GlossGeneralizedSupport Generalized support points
*
While @ref GlossSupport "support points" allow very simple interpolation * into the finite element space, their concept is restricted to -- 2.39.5