]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Use function from simplex_grids.h 11370/head
authorPeter Munch <peterrmuench@gmail.com>
Mon, 14 Dec 2020 11:42:14 +0000 (12:42 +0100)
committerPeter Munch <peterrmuench@gmail.com>
Mon, 14 Dec 2020 11:42:14 +0000 (12:42 +0100)
tests/simplex/matrix_free_02.cc

index b5107727720639f83abcf516acf018387b8a0b96..1532bca33b19e462598a580195088576510c4715 100644 (file)
 
 #include "../tests.h"
 
-using namespace dealii;
+#include "./simplex_grids.h"
 
-namespace dealii
-{
-  namespace GridGenerator
-  {
-    template <int dim, int spacedim>
-    void
-    subdivided_hyper_rectangle_with_simplices_mix(
-      Triangulation<dim, spacedim> &   tria,
-      const std::vector<unsigned int> &repetitions,
-      const Point<dim> &               p1,
-      const Point<dim> &               p2,
-      const bool                       colorize = false)
-    {
-      AssertDimension(dim, spacedim);
-
-      AssertThrow(colorize == false, ExcNotImplemented());
-
-      std::vector<Point<spacedim>> vertices;
-      std::vector<CellData<dim>>   cells;
-
-      if (dim == 2)
-        {
-          // determine cell sizes
-          const Point<dim> dx((p2[0] - p1[0]) / repetitions[0],
-                              (p2[1] - p1[1]) / repetitions[1]);
-
-          // create vertices
-          for (unsigned int j = 0; j <= repetitions[1]; ++j)
-            for (unsigned int i = 0; i <= repetitions[0]; ++i)
-              vertices.push_back(
-                Point<spacedim>(p1[0] + dx[0] * i, p1[1] + dx[1] * j));
-
-          // create cells
-          for (unsigned int j = 0; j < repetitions[1]; ++j)
-            for (unsigned int i = 0; i < repetitions[0]; ++i)
-              {
-                // create reference QUAD cell
-                std::array<unsigned int, 4> quad{{
-                  (j + 0) * (repetitions[0] + 1) + i + 0, //
-                  (j + 0) * (repetitions[0] + 1) + i + 1, //
-                  (j + 1) * (repetitions[0] + 1) + i + 0, //
-                  (j + 1) * (repetitions[0] + 1) + i + 1  //
-                }};                                       //
-
-                if (j < repetitions[1] / 2 && i < repetitions[0] / 2)
-                  {
-                    CellData<dim> quad_;
-                    quad_.vertices = {quad[0], quad[1], quad[2], quad[3]};
-                    cells.push_back(quad_);
-
-                    continue;
-                  }
-
-                // TRI cell 0
-                {
-                  CellData<dim> tri;
-                  tri.vertices = {quad[0], quad[1], quad[2]};
-                  cells.push_back(tri);
-                }
-
-                // TRI cell 1
-                {
-                  CellData<dim> tri;
-                  tri.vertices = {quad[3], quad[2], quad[1]};
-                  cells.push_back(tri);
-                }
-              }
-        }
-      else
-        {
-          AssertThrow(colorize == false, ExcNotImplemented());
-        }
-
-      // actually create triangulation
-      tria.create_triangulation(vertices, cells, SubCellData());
-    }
-
-
-    template <int dim, int spacedim>
-    void
-    subdivided_hyper_cube_with_simplices_mix(Triangulation<dim, spacedim> &tria,
-                                             const unsigned int repetitions,
-                                             const double       p1 = 0.0,
-                                             const double       p2 = 1.0,
-                                             const bool colorize   = false)
-    {
-      if (dim == 2)
-        {
-          subdivided_hyper_rectangle_with_simplices_mix(
-            tria, {{repetitions, repetitions}}, {p1, p1}, {p2, p2}, colorize);
-        }
-      else if (dim == 3)
-        {
-          subdivided_hyper_rectangle_with_simplices_mix(
-            tria,
-            {{repetitions, repetitions, repetitions}},
-            {p1, p1, p1},
-            {p2, p2, p2},
-            colorize);
-        }
-      else
-        {
-          AssertThrow(false, ExcNotImplemented())
-        }
-    }
-  } // namespace GridGenerator
-} // namespace dealii
+using namespace dealii;
 
 template <int dim>
 class PoissonOperator

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.