]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Add a test. 16872/head
authorDavid Wells <drwells@email.unc.edu>
Sun, 7 Apr 2024 01:28:39 +0000 (21:28 -0400)
committerDavid Wells <drwells@email.unc.edu>
Tue, 9 Apr 2024 14:45:49 +0000 (10:45 -0400)
tests/simplex/orientation_05.cc [new file with mode: 0644]
tests/simplex/orientation_05.output [new file with mode: 0644]

diff --git a/tests/simplex/orientation_05.cc b/tests/simplex/orientation_05.cc
new file mode 100644 (file)
index 0000000..a7043f2
--- /dev/null
@@ -0,0 +1,91 @@
+/* ------------------------------------------------------------------------
+ *
+ * SPDX-License-Identifier: LGPL-2.1-or-later
+ * Copyright (C) 2024 by the deal.II authors
+ *
+ * This file is part of the deal.II library.
+ *
+ * Part of the source code is dual licensed under Apache-2.0 WITH
+ * LLVM-exception OR LGPL-2.1-or-later. Detailed license information
+ * governing the source code and code contributions can be found in
+ * LICENSE.md and CONTRIBUTING.md at the top level directory of deal.II.
+ *
+ * ------------------------------------------------------------------------
+ */
+
+// Test that we get correctly oriented quadrilateral faces with mixed meshes.
+// This verifies that we no longer assume that quadrilateral elements are always
+// consistently oriented.
+
+#include <deal.II/fe/fe_q.h>
+#include <deal.II/fe/fe_simplex_p.h>
+
+#include <deal.II/grid/grid_out.h>
+#include <deal.II/grid/tria.h>
+
+#include <deal.II/hp/fe_collection.h>
+#include <deal.II/hp/fe_values.h>
+#include <deal.II/hp/mapping_collection.h>
+#include <deal.II/hp/q_collection.h>
+
+#include "../tests.h"
+
+int
+main()
+{
+  initlog();
+
+  const std::vector<Point<2>> vertices{
+    {0.0, 0.0}, {1.0, 0.0}, {0.0, 2.0}, {3.0, 1.0}, {3.0, 3.0}, {2.0, 3.0}};
+
+  std::vector<CellData<2>> cells(3);
+  cells[0].vertices = {0u, 1u, 2u};
+  // 3, 5, 4 puts all faces in the standard orientation
+  // 3, 4, 5 produces a quad face in the reversed orientation
+  cells[1].vertices = {3u, 4u, 5u};
+  cells[2].vertices = {1u, 3u, 2u, 5u};
+
+  Triangulation<2> tria;
+
+  tria.create_triangulation(vertices, cells, SubCellData());
+
+  auto print_tria = [&]() {
+    for (const auto &cell : tria.active_cell_iterators())
+      {
+        deallog << "cell = " << cell << std::endl;
+        deallog << "  reference cell = " << cell->reference_cell().to_string()
+                << std::endl;
+        deallog << "  measure = " << cell->measure() << std::endl;
+        for (unsigned int face_no : cell->face_indices())
+          {
+            deallog << "  face orientation " << face_no << " = "
+                    << int(cell->combined_face_orientation(face_no))
+                    << std::endl;
+          }
+        for (unsigned int vertex_no : cell->vertex_indices())
+          {
+            deallog << "  vertex " << vertex_no << " = "
+                    << cell->vertex(vertex_no) << '\n';
+          }
+        for (unsigned int vertex_no : cell->vertex_indices())
+          {
+            deallog << "  vertex index " << vertex_no << " = "
+                    << cell->vertex_index(vertex_no) << '\n';
+          }
+      }
+  };
+
+  print_tria();
+
+  tria.refine_global(1);
+  print_tria();
+
+  tria.refine_global(1);
+  print_tria();
+
+#if 0
+  std::ofstream out("out.vtu");
+
+  GridOut().write_vtu(tria, out);
+#endif
+}
diff --git a/tests/simplex/orientation_05.output b/tests/simplex/orientation_05.output
new file mode 100644 (file)
index 0000000..3d018b7
--- /dev/null
@@ -0,0 +1,812 @@
+
+DEAL::cell = 0.0
+DEAL::  reference cell = Tri
+DEAL::  measure = 1.00000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 0.00000 0.00000
+  vertex 1 = 1.00000 0.00000
+  vertex 2 = 0.00000 2.00000
+  vertex index 0 = 0
+  vertex index 1 = 1
+  vertex index 2 = 2
+cell = 0.1
+DEAL::  reference cell = Tri
+DEAL::  measure = 1.00000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 3.00000 1.00000
+  vertex 1 = 3.00000 3.00000
+  vertex 2 = 2.00000 3.00000
+  vertex index 0 = 3
+  vertex index 1 = 4
+  vertex index 2 = 5
+cell = 0.2
+DEAL::  reference cell = Quad
+DEAL::  measure = 5.00000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 1.00000 0.00000
+  vertex 1 = 3.00000 1.00000
+  vertex 2 = 0.00000 2.00000
+  vertex 3 = 2.00000 3.00000
+  vertex index 0 = 1
+  vertex index 1 = 3
+  vertex index 2 = 2
+  vertex index 3 = 5
+cell = 1.0
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.250000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 0.00000 0.00000
+  vertex 1 = 0.500000 0.00000
+  vertex 2 = 0.00000 1.00000
+  vertex index 0 = 0
+  vertex index 1 = 6
+  vertex index 2 = 9
+cell = 1.1
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.250000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 0
+DEAL::  vertex 0 = 0.500000 0.00000
+  vertex 1 = 1.00000 0.00000
+  vertex 2 = 0.500000 1.00000
+  vertex index 0 = 6
+  vertex index 1 = 1
+  vertex index 2 = 7
+cell = 1.2
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.250000
+DEAL::  face orientation 0 = 0
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 0.00000 1.00000
+  vertex 1 = 0.500000 1.00000
+  vertex 2 = 0.00000 2.00000
+  vertex index 0 = 9
+  vertex index 1 = 7
+  vertex index 2 = 2
+cell = 1.3
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.250000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 0.500000 0.00000
+  vertex 1 = 0.500000 1.00000
+  vertex 2 = 0.00000 1.00000
+  vertex index 0 = 6
+  vertex index 1 = 7
+  vertex index 2 = 9
+cell = 1.4
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.250000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 3.00000 1.00000
+  vertex 1 = 3.00000 2.00000
+  vertex 2 = 2.50000 2.00000
+  vertex index 0 = 3
+  vertex index 1 = 11
+  vertex index 2 = 13
+cell = 1.5
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.250000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 0
+DEAL::  vertex 0 = 3.00000 2.00000
+  vertex 1 = 3.00000 3.00000
+  vertex 2 = 2.50000 3.00000
+  vertex index 0 = 11
+  vertex index 1 = 4
+  vertex index 2 = 12
+cell = 1.6
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.250000
+DEAL::  face orientation 0 = 0
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 2.50000 2.00000
+  vertex 1 = 2.50000 3.00000
+  vertex 2 = 2.00000 3.00000
+  vertex index 0 = 13
+  vertex index 1 = 12
+  vertex index 2 = 5
+cell = 1.7
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.250000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 3.00000 2.00000
+  vertex 1 = 2.50000 3.00000
+  vertex 2 = 2.50000 2.00000
+  vertex index 0 = 11
+  vertex index 1 = 12
+  vertex index 2 = 13
+cell = 1.8
+DEAL::  reference cell = Quad
+DEAL::  measure = 1.25000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 1.00000 0.00000
+  vertex 1 = 2.00000 0.500000
+  vertex 2 = 0.500000 1.00000
+  vertex 3 = 1.50000 1.50000
+  vertex index 0 = 1
+  vertex index 1 = 8
+  vertex index 2 = 7
+  vertex index 3 = 14
+cell = 1.9
+DEAL::  reference cell = Quad
+DEAL::  measure = 1.25000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 2.00000 0.500000
+  vertex 1 = 3.00000 1.00000
+  vertex 2 = 1.50000 1.50000
+  vertex 3 = 2.50000 2.00000
+  vertex index 0 = 8
+  vertex index 1 = 3
+  vertex index 2 = 14
+  vertex index 3 = 13
+cell = 1.10
+DEAL::  reference cell = Quad
+DEAL::  measure = 1.25000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 0.500000 1.00000
+  vertex 1 = 1.50000 1.50000
+  vertex 2 = 0.00000 2.00000
+  vertex 3 = 1.00000 2.50000
+  vertex index 0 = 7
+  vertex index 1 = 14
+  vertex index 2 = 2
+  vertex index 3 = 10
+cell = 1.11
+DEAL::  reference cell = Quad
+DEAL::  measure = 1.25000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 1.50000 1.50000
+  vertex 1 = 2.50000 2.00000
+  vertex 2 = 1.00000 2.50000
+  vertex 3 = 2.00000 3.00000
+  vertex index 0 = 14
+  vertex index 1 = 13
+  vertex index 2 = 10
+  vertex index 3 = 5
+cell = 2.0
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 0.00000 0.00000
+  vertex 1 = 0.250000 0.00000
+  vertex 2 = 0.00000 0.500000
+  vertex index 0 = 0
+  vertex index 1 = 15
+  vertex index 2 = 22
+cell = 2.1
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 0
+DEAL::  vertex 0 = 0.250000 0.00000
+  vertex 1 = 0.500000 0.00000
+  vertex 2 = 0.250000 0.500000
+  vertex index 0 = 15
+  vertex index 1 = 6
+  vertex index 2 = 33
+cell = 2.2
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 0
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 0.00000 0.500000
+  vertex 1 = 0.250000 0.500000
+  vertex 2 = 0.00000 1.00000
+  vertex index 0 = 22
+  vertex index 1 = 33
+  vertex index 2 = 9
+cell = 2.3
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 0.250000 0.00000
+  vertex 1 = 0.250000 0.500000
+  vertex 2 = 0.00000 0.500000
+  vertex index 0 = 15
+  vertex index 1 = 33
+  vertex index 2 = 22
+cell = 2.4
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 0
+DEAL::  vertex 0 = 0.500000 0.00000
+  vertex 1 = 0.750000 0.00000
+  vertex 2 = 0.500000 0.500000
+  vertex index 0 = 6
+  vertex index 1 = 16
+  vertex index 2 = 31
+cell = 2.5
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 0
+DEAL::  vertex 0 = 0.750000 0.00000
+  vertex 1 = 1.00000 0.00000
+  vertex 2 = 0.750000 0.500000
+  vertex index 0 = 16
+  vertex index 1 = 1
+  vertex index 2 = 17
+cell = 2.6
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 0
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 0
+DEAL::  vertex 0 = 0.500000 0.500000
+  vertex 1 = 0.750000 0.500000
+  vertex 2 = 0.500000 1.00000
+  vertex index 0 = 31
+  vertex index 1 = 17
+  vertex index 2 = 7
+cell = 2.7
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 0.750000 0.00000
+  vertex 1 = 0.750000 0.500000
+  vertex 2 = 0.500000 0.500000
+  vertex index 0 = 16
+  vertex index 1 = 17
+  vertex index 2 = 31
+cell = 2.8
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 0
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 0.00000 1.00000
+  vertex 1 = 0.250000 1.00000
+  vertex 2 = 0.00000 1.50000
+  vertex index 0 = 9
+  vertex index 1 = 32
+  vertex index 2 = 21
+cell = 2.9
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 0
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 0
+DEAL::  vertex 0 = 0.250000 1.00000
+  vertex 1 = 0.500000 1.00000
+  vertex 2 = 0.250000 1.50000
+  vertex index 0 = 32
+  vertex index 1 = 7
+  vertex index 2 = 18
+cell = 2.10
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 0
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 0.00000 1.50000
+  vertex 1 = 0.250000 1.50000
+  vertex 2 = 0.00000 2.00000
+  vertex index 0 = 21
+  vertex index 1 = 18
+  vertex index 2 = 2
+cell = 2.11
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 0.250000 1.00000
+  vertex 1 = 0.250000 1.50000
+  vertex 2 = 0.00000 1.50000
+  vertex index 0 = 32
+  vertex index 1 = 18
+  vertex index 2 = 21
+cell = 2.12
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 0.500000 0.00000
+  vertex 1 = 0.500000 0.500000
+  vertex 2 = 0.250000 0.500000
+  vertex index 0 = 6
+  vertex index 1 = 31
+  vertex index 2 = 33
+cell = 2.13
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 0
+DEAL::  vertex 0 = 0.500000 0.500000
+  vertex 1 = 0.500000 1.00000
+  vertex 2 = 0.250000 1.00000
+  vertex index 0 = 31
+  vertex index 1 = 7
+  vertex index 2 = 32
+cell = 2.14
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 0
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 0.250000 0.500000
+  vertex 1 = 0.250000 1.00000
+  vertex 2 = 0.00000 1.00000
+  vertex index 0 = 33
+  vertex index 1 = 32
+  vertex index 2 = 9
+cell = 2.15
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 0.500000 0.500000
+  vertex 1 = 0.250000 1.00000
+  vertex 2 = 0.250000 0.500000
+  vertex index 0 = 31
+  vertex index 1 = 32
+  vertex index 2 = 33
+cell = 2.16
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 3.00000 1.00000
+  vertex 1 = 3.00000 1.50000
+  vertex 2 = 2.75000 1.50000
+  vertex index 0 = 3
+  vertex index 1 = 25
+  vertex index 2 = 30
+cell = 2.17
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 0
+DEAL::  vertex 0 = 3.00000 1.50000
+  vertex 1 = 3.00000 2.00000
+  vertex 2 = 2.75000 2.00000
+  vertex index 0 = 25
+  vertex index 1 = 11
+  vertex index 2 = 36
+cell = 2.18
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 0
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 2.75000 1.50000
+  vertex 1 = 2.75000 2.00000
+  vertex 2 = 2.50000 2.00000
+  vertex index 0 = 30
+  vertex index 1 = 36
+  vertex index 2 = 13
+cell = 2.19
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 3.00000 1.50000
+  vertex 1 = 2.75000 2.00000
+  vertex 2 = 2.75000 1.50000
+  vertex index 0 = 25
+  vertex index 1 = 36
+  vertex index 2 = 30
+cell = 2.20
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 0
+DEAL::  vertex 0 = 3.00000 2.00000
+  vertex 1 = 3.00000 2.50000
+  vertex 2 = 2.75000 2.50000
+  vertex index 0 = 11
+  vertex index 1 = 26
+  vertex index 2 = 34
+cell = 2.21
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 0
+DEAL::  vertex 0 = 3.00000 2.50000
+  vertex 1 = 3.00000 3.00000
+  vertex 2 = 2.75000 3.00000
+  vertex index 0 = 26
+  vertex index 1 = 4
+  vertex index 2 = 27
+cell = 2.22
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 0
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 0
+DEAL::  vertex 0 = 2.75000 2.50000
+  vertex 1 = 2.75000 3.00000
+  vertex 2 = 2.50000 3.00000
+  vertex index 0 = 34
+  vertex index 1 = 27
+  vertex index 2 = 12
+cell = 2.23
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 3.00000 2.50000
+  vertex 1 = 2.75000 3.00000
+  vertex 2 = 2.75000 2.50000
+  vertex index 0 = 26
+  vertex index 1 = 27
+  vertex index 2 = 34
+cell = 2.24
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 0
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 2.50000 2.00000
+  vertex 1 = 2.50000 2.50000
+  vertex 2 = 2.25000 2.50000
+  vertex index 0 = 13
+  vertex index 1 = 35
+  vertex index 2 = 29
+cell = 2.25
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 0
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 0
+DEAL::  vertex 0 = 2.50000 2.50000
+  vertex 1 = 2.50000 3.00000
+  vertex 2 = 2.25000 3.00000
+  vertex index 0 = 35
+  vertex index 1 = 12
+  vertex index 2 = 28
+cell = 2.26
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 0
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 2.25000 2.50000
+  vertex 1 = 2.25000 3.00000
+  vertex 2 = 2.00000 3.00000
+  vertex index 0 = 29
+  vertex index 1 = 28
+  vertex index 2 = 5
+cell = 2.27
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 2.50000 2.50000
+  vertex 1 = 2.25000 3.00000
+  vertex 2 = 2.25000 2.50000
+  vertex index 0 = 35
+  vertex index 1 = 28
+  vertex index 2 = 29
+cell = 2.28
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 3.00000 2.00000
+  vertex 1 = 2.75000 2.50000
+  vertex 2 = 2.75000 2.00000
+  vertex index 0 = 11
+  vertex index 1 = 34
+  vertex index 2 = 36
+cell = 2.29
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 0
+DEAL::  vertex 0 = 2.75000 2.50000
+  vertex 1 = 2.50000 3.00000
+  vertex 2 = 2.50000 2.50000
+  vertex index 0 = 34
+  vertex index 1 = 12
+  vertex index 2 = 35
+cell = 2.30
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 0
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 2.75000 2.00000
+  vertex 1 = 2.50000 2.50000
+  vertex 2 = 2.50000 2.00000
+  vertex index 0 = 36
+  vertex index 1 = 35
+  vertex index 2 = 13
+cell = 2.31
+DEAL::  reference cell = Tri
+DEAL::  measure = 0.0625000
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  vertex 0 = 2.75000 2.50000
+  vertex 1 = 2.50000 2.50000
+  vertex 2 = 2.75000 2.00000
+  vertex index 0 = 34
+  vertex index 1 = 35
+  vertex index 2 = 36
+cell = 2.32
+DEAL::  reference cell = Quad
+DEAL::  measure = 0.312500
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 1.00000 0.00000
+  vertex 1 = 1.50000 0.250000
+  vertex 2 = 0.750000 0.500000
+  vertex 3 = 1.25000 0.750000
+  vertex index 0 = 1
+  vertex index 1 = 19
+  vertex index 2 = 17
+  vertex index 3 = 41
+cell = 2.33
+DEAL::  reference cell = Quad
+DEAL::  measure = 0.312500
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 1.50000 0.250000
+  vertex 1 = 2.00000 0.500000
+  vertex 2 = 1.25000 0.750000
+  vertex 3 = 1.75000 1.00000
+  vertex index 0 = 19
+  vertex index 1 = 8
+  vertex index 2 = 41
+  vertex index 3 = 37
+cell = 2.34
+DEAL::  reference cell = Quad
+DEAL::  measure = 0.312500
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 0.750000 0.500000
+  vertex 1 = 1.25000 0.750000
+  vertex 2 = 0.500000 1.00000
+  vertex 3 = 1.00000 1.25000
+  vertex index 0 = 17
+  vertex index 1 = 41
+  vertex index 2 = 7
+  vertex index 3 = 39
+cell = 2.35
+DEAL::  reference cell = Quad
+DEAL::  measure = 0.312500
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 1.25000 0.750000
+  vertex 1 = 1.75000 1.00000
+  vertex 2 = 1.00000 1.25000
+  vertex 3 = 1.50000 1.50000
+  vertex index 0 = 41
+  vertex index 1 = 37
+  vertex index 2 = 39
+  vertex index 3 = 14
+cell = 2.36
+DEAL::  reference cell = Quad
+DEAL::  measure = 0.312500
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 2.00000 0.500000
+  vertex 1 = 2.50000 0.750000
+  vertex 2 = 1.75000 1.00000
+  vertex 3 = 2.25000 1.25000
+  vertex index 0 = 8
+  vertex index 1 = 20
+  vertex index 2 = 37
+  vertex index 3 = 42
+cell = 2.37
+DEAL::  reference cell = Quad
+DEAL::  measure = 0.312500
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 2.50000 0.750000
+  vertex 1 = 3.00000 1.00000
+  vertex 2 = 2.25000 1.25000
+  vertex 3 = 2.75000 1.50000
+  vertex index 0 = 20
+  vertex index 1 = 3
+  vertex index 2 = 42
+  vertex index 3 = 30
+cell = 2.38
+DEAL::  reference cell = Quad
+DEAL::  measure = 0.312500
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 1.75000 1.00000
+  vertex 1 = 2.25000 1.25000
+  vertex 2 = 1.50000 1.50000
+  vertex 3 = 2.00000 1.75000
+  vertex index 0 = 37
+  vertex index 1 = 42
+  vertex index 2 = 14
+  vertex index 3 = 40
+cell = 2.39
+DEAL::  reference cell = Quad
+DEAL::  measure = 0.312500
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 2.25000 1.25000
+  vertex 1 = 2.75000 1.50000
+  vertex 2 = 2.00000 1.75000
+  vertex 3 = 2.50000 2.00000
+  vertex index 0 = 42
+  vertex index 1 = 30
+  vertex index 2 = 40
+  vertex index 3 = 13
+cell = 2.40
+DEAL::  reference cell = Quad
+DEAL::  measure = 0.312500
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 0.500000 1.00000
+  vertex 1 = 1.00000 1.25000
+  vertex 2 = 0.250000 1.50000
+  vertex 3 = 0.750000 1.75000
+  vertex index 0 = 7
+  vertex index 1 = 39
+  vertex index 2 = 18
+  vertex index 3 = 43
+cell = 2.41
+DEAL::  reference cell = Quad
+DEAL::  measure = 0.312500
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 1.00000 1.25000
+  vertex 1 = 1.50000 1.50000
+  vertex 2 = 0.750000 1.75000
+  vertex 3 = 1.25000 2.00000
+  vertex index 0 = 39
+  vertex index 1 = 14
+  vertex index 2 = 43
+  vertex index 3 = 38
+cell = 2.42
+DEAL::  reference cell = Quad
+DEAL::  measure = 0.312500
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 0.250000 1.50000
+  vertex 1 = 0.750000 1.75000
+  vertex 2 = 0.00000 2.00000
+  vertex 3 = 0.500000 2.25000
+  vertex index 0 = 18
+  vertex index 1 = 43
+  vertex index 2 = 2
+  vertex index 3 = 23
+cell = 2.43
+DEAL::  reference cell = Quad
+DEAL::  measure = 0.312500
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 0.750000 1.75000
+  vertex 1 = 1.25000 2.00000
+  vertex 2 = 0.500000 2.25000
+  vertex 3 = 1.00000 2.50000
+  vertex index 0 = 43
+  vertex index 1 = 38
+  vertex index 2 = 23
+  vertex index 3 = 10
+cell = 2.44
+DEAL::  reference cell = Quad
+DEAL::  measure = 0.312500
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 1.50000 1.50000
+  vertex 1 = 2.00000 1.75000
+  vertex 2 = 1.25000 2.00000
+  vertex 3 = 1.75000 2.25000
+  vertex index 0 = 14
+  vertex index 1 = 40
+  vertex index 2 = 38
+  vertex index 3 = 44
+cell = 2.45
+DEAL::  reference cell = Quad
+DEAL::  measure = 0.312500
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 2.00000 1.75000
+  vertex 1 = 2.50000 2.00000
+  vertex 2 = 1.75000 2.25000
+  vertex 3 = 2.25000 2.50000
+  vertex index 0 = 40
+  vertex index 1 = 13
+  vertex index 2 = 44
+  vertex index 3 = 29
+cell = 2.46
+DEAL::  reference cell = Quad
+DEAL::  measure = 0.312500
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 1
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1
+DEAL::  vertex 0 = 1.25000 2.00000
+  vertex 1 = 1.75000 2.25000
+  vertex 2 = 1.00000 2.50000
+  vertex 3 = 1.50000 2.75000
+  vertex index 0 = 38
+  vertex index 1 = 44
+  vertex index 2 = 10
+  vertex index 3 = 24
+cell = 2.47
+DEAL::  reference cell = Quad
+DEAL::  measure = 0.312500
+DEAL::  face orientation 0 = 1
+DEAL::  face orientation 1 = 0
+DEAL::  face orientation 2 = 1
+DEAL::  face orientation 3 = 1

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.