--- /dev/null
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2019 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE.md at
+// the top level directory of deal.II.
+//
+// ---------------------------------------------------------------------
+
+#include <deal.II/base/mutable_bind.h>
+
+#include <deal.II/grid/grid_generator.h>
+
+DEAL_II_NAMESPACE_OPEN
+
+namespace GridGenerator
+{
+ namespace
+ {
+ /**
+ * Given a GridGenerator function pointer, a string containig a text
+ * version of the function arguments and an empty Triangulation, calls the
+ * corresponding function, after parsing the arguments from the given
+ * string.
+ */
+ template <int dim, int spacedim, class... Arguments>
+ void
+ parse_and_create(void (*generator)(Triangulation<dim, spacedim> &,
+ Arguments...),
+ const std::string & arguments,
+ Triangulation<dim, spacedim> &tria)
+ {
+ std::function<void(Arguments...)> wrapper =
+ [&tria, &generator](Arguments... args) { generator(tria, args...); };
+ auto bound_function = Utilities::mutable_bind(wrapper);
+ bound_function.parse_arguments(arguments);
+ bound_function();
+ }
+
+
+ /**
+ * Create grids that only exist for codimension zero combinations.
+ *
+ * Return true if a grid was actually generated, false otherwise.
+ */
+ template <int dim, int spacedim>
+ typename std::enable_if<dim != spacedim, bool>::type
+ generate_codimension_zero_grid(const std::string &,
+ const std::string &,
+ Triangulation<dim, spacedim> &)
+ {
+ return false;
+ }
+
+ /**
+ * Create grids that only exist for codimension zero combinations.
+ *
+ * Return true if a grid was actually generated, false otherwise.
+ */
+ template <int dim>
+ bool
+ generate_codimension_zero_grid(const std::string & name,
+ const std::string & arguments,
+ Triangulation<dim> &tria)
+ {
+ if (name == "simplex")
+ parse_and_create<dim, dim, const std::vector<Point<dim>> &>(simplex,
+ arguments,
+ tria);
+ else if (name == "subdivided_hyper_rectangle")
+ {
+ // subdivided_hyper_rectangle is polymorphic, and can be called with
+ // different sets of arguments. We support two of these function
+ // calls. We try the first one, and if parsing fails, we go to the
+ // second one.
+ try
+ {
+ parse_and_create<dim,
+ dim,
+ const std::vector<unsigned int> &,
+ const Point<dim> &,
+ const Point<dim> &,
+ bool>(subdivided_hyper_rectangle,
+ arguments,
+ tria);
+ }
+ catch (Patterns::Tools::ExcNoMatch)
+ {
+ parse_and_create<dim,
+ dim,
+ const std::vector<std::vector<double>> &,
+ const Point<dim> &,
+ const Point<dim> &,
+ bool>(subdivided_hyper_rectangle,
+ arguments,
+ tria);
+ }
+ }
+ else if (name == "plate_with_a_hole")
+ parse_and_create<dim,
+ dim,
+ double,
+ double,
+ double,
+ double,
+ double,
+ double,
+ const Point<dim>,
+ types::manifold_id,
+ types::manifold_id,
+ double,
+ unsigned int,
+ bool>(plate_with_a_hole, arguments, tria);
+ else if (name == "channel_with_cylinder")
+ parse_and_create<dim, dim, double, unsigned int, double, bool>(
+ channel_with_cylinder, arguments, tria);
+
+ else if (name == "enclosed_hyper_cube")
+ parse_and_create<dim, dim, double, double, double, bool>(
+ enclosed_hyper_cube, arguments, tria);
+
+ else if (name == "hyper_ball")
+ parse_and_create<dim, dim, const Point<dim> &, double, bool>(hyper_ball,
+ arguments,
+ tria);
+
+ else if (name == "quarter_hyper_ball")
+ parse_and_create<dim, dim, const Point<dim> &, double>(
+ quarter_hyper_ball, arguments, tria);
+
+ else if (name == "half_hyper_ball")
+ parse_and_create<dim, dim, const Point<dim> &, double>(half_hyper_ball,
+ arguments,
+ tria);
+
+ else if (name == "cylinder")
+ parse_and_create<dim, dim, double, double>(cylinder, arguments, tria);
+
+ else if (name == "truncated_cone")
+ parse_and_create<dim, dim, double, double, double>(truncated_cone,
+ arguments,
+ tria);
+
+ else if (name == "hyper_L")
+ parse_and_create<dim, dim, double, double, bool>(hyper_L,
+ arguments,
+ tria);
+
+ else if (name == "hyper_cube_slit")
+ parse_and_create<dim, dim, double, double, bool>(hyper_cube_slit,
+ arguments,
+ tria);
+
+ else if (name == "hyper_shell")
+ parse_and_create<dim,
+ dim,
+ const Point<dim> &,
+ double,
+ double,
+ unsigned int,
+ bool>(hyper_shell, arguments, tria);
+
+ else if (name == "half_hyper_shell")
+ parse_and_create<dim,
+ dim,
+ const Point<dim> &,
+ double,
+ double,
+ unsigned int,
+ bool>(half_hyper_shell, arguments, tria);
+
+ else if (name == "quarter_hyper_shell")
+ parse_and_create<dim,
+ dim,
+ const Point<dim> &,
+ double,
+ double,
+ unsigned int,
+ bool>(quarter_hyper_shell, arguments, tria);
+
+ else if (name == "cylinder_shell")
+ parse_and_create<dim,
+ dim,
+ double,
+ double,
+ double,
+ unsigned int,
+ unsigned int>(cylinder_shell, arguments, tria);
+
+ else if (name == "hyper_cube_with_cylindrical_hole")
+ parse_and_create<dim, dim, double, double, double, unsigned int, bool>(
+ hyper_cube_with_cylindrical_hole, arguments, tria);
+
+ else if (name == "concentric_hyper_shells")
+ parse_and_create<dim,
+ dim,
+ const Point<dim> &,
+ double,
+ double,
+ unsigned int,
+ double,
+ unsigned int,
+ bool>(concentric_hyper_shells, arguments, tria);
+ else
+ return false;
+
+ return true;
+ }
+
+
+ /**
+ * Create grids that only exist for codimension one combinations.
+ *
+ * Return true if a grid was actually generated, false otherwise.
+ */
+ template <int dim, int spacedim>
+ typename std::enable_if<dim != spacedim - 1, bool>::type
+ generate_codimension_one_grid(const std::string &,
+ const std::string &,
+ Triangulation<dim, spacedim> &)
+ {
+ return false;
+ }
+
+ /**
+ * Create grids that only exist for codimension one combinations.
+ *
+ * Return true if a grid was actually generated, false otherwise.
+ */
+ template <int dim>
+ bool
+ generate_codimension_one_grid(const std::string & name,
+ const std::string & arguments,
+ Triangulation<dim, dim + 1> &tria)
+ {
+ if (name == "hyper_sphere")
+ parse_and_create<dim, dim + 1, const Point<dim + 1> &, double>(
+ hyper_sphere, arguments, tria);
+ else
+ return false;
+ return true;
+ }
+
+ /**
+ * Methods only implemented for special combinations of dim and spacedim.
+ *
+ * Return true if a grid was actually generated, false otherwise.
+ */
+ template <int dim, int spacedim>
+ bool
+ generate_special(const std::string &,
+ const std::string &,
+ Triangulation<dim, spacedim> &)
+ {
+ return false;
+ }
+
+ /**
+ * Methods implemented only for Triangulation<3,3>.
+ *
+ * Return true if a grid was actually generated, false otherwise.
+ */
+ bool
+ generate_special(const std::string & name,
+ const std::string & arguments,
+ Triangulation<3, 3> &tria)
+ {
+ if (name == "moebius")
+ parse_and_create<3, 3, unsigned int, unsigned int, double, double>(
+ moebius, arguments, tria);
+ else if (name == "torus")
+ parse_and_create<3, 3, double, double, unsigned int>(torus,
+ arguments,
+ tria);
+ else
+ {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Methods implemented only for Triangulation<2,3>.
+ *
+ * Return true if a grid was actually generated, false otherwise.
+ */
+ bool
+ generate_special(const std::string & name,
+ const std::string & arguments,
+ Triangulation<2, 3> &tria)
+ {
+ if (name == "torus")
+ parse_and_create<2, 3, double, double, unsigned int>(torus,
+ arguments,
+ tria);
+ else
+ {
+ return false;
+ }
+ return true;
+ }
+ } // namespace
+
+
+
+ template <int dim, int spacedim>
+ void
+ generate_from_name_and_arguments(Triangulation<dim, spacedim> &tria,
+ const std::string & name,
+ const std::string & arguments)
+ {
+ // We begin with all function calls that are implemented for all
+ // combinations of dim and spacedim.
+ if (name == "hyper_cube")
+ parse_and_create<dim, spacedim, double, double, bool>(hyper_cube,
+ arguments,
+ tria);
+ else if (name == "subdivided_hyper_cube")
+ parse_and_create<dim, spacedim, unsigned int, double, double>(
+ subdivided_hyper_cube, arguments, tria);
+ else if (name == "hyper_rectangle")
+ parse_and_create<dim,
+ spacedim,
+ const Point<dim> &,
+ const Point<dim> &,
+ bool>(hyper_rectangle, arguments, tria);
+ else if (name == "cheese")
+ parse_and_create<dim, spacedim, const std::vector<unsigned int> &>(
+ cheese, arguments, tria);
+ else if (name == "general_cell")
+ parse_and_create<dim,
+ spacedim,
+ const std::vector<Point<spacedim>> &,
+ bool>(general_cell, arguments, tria);
+ else if (name == "hyper_cross")
+ parse_and_create<dim, spacedim, const std::vector<unsigned int> &, bool>(
+ hyper_cross, arguments, tria);
+ // If none of the above worked, than we try with more specific function
+ // calls. First we try to call functions that are only implemented when
+ // dim == spacedim, then when dim == spacedim-1, and lastly, we try to see
+ // if the name, dim, and spacedim match some of the very special grid
+ // generator functions, like torus, moebius, etc.
+ //
+ // If one of the function call succeeds, we skip the rest and return.
+ else if (generate_codimension_zero_grid(name, arguments, tria))
+ {}
+ else if (generate_codimension_one_grid(name, arguments, tria))
+ {}
+ else if (generate_special(name, arguments, tria))
+ {}
+ else
+ // If we got here, we really have no idea what grid the user wants to
+ // generate.
+ AssertThrow(false,
+ ExcMessage(name + "(" + arguments + ") not implemented"));
+ }
+} // namespace GridGenerator
+
+#include "grid_generator_from_name.inst"
+
+DEAL_II_NAMESPACE_CLOSE
--- /dev/null
+
+DEAL::Generating Triangulation<2, 2> : cheese(3, 2)
+$NOD
+48
+1 0.00000 0.00000 0
+2 1.00000 0.00000 0
+3 2.00000 0.00000 0
+4 3.00000 0.00000 0
+5 4.00000 0.00000 0
+6 5.00000 0.00000 0
+7 6.00000 0.00000 0
+8 7.00000 0.00000 0
+9 0.00000 1.00000 0
+10 1.00000 1.00000 0
+11 2.00000 1.00000 0
+12 3.00000 1.00000 0
+13 4.00000 1.00000 0
+14 5.00000 1.00000 0
+15 6.00000 1.00000 0
+16 7.00000 1.00000 0
+17 0.00000 2.00000 0
+18 1.00000 2.00000 0
+19 2.00000 2.00000 0
+20 3.00000 2.00000 0
+21 4.00000 2.00000 0
+22 5.00000 2.00000 0
+23 6.00000 2.00000 0
+24 7.00000 2.00000 0
+25 0.00000 3.00000 0
+26 1.00000 3.00000 0
+27 2.00000 3.00000 0
+28 3.00000 3.00000 0
+29 4.00000 3.00000 0
+30 5.00000 3.00000 0
+31 6.00000 3.00000 0
+32 7.00000 3.00000 0
+33 0.00000 4.00000 0
+34 1.00000 4.00000 0
+35 2.00000 4.00000 0
+36 3.00000 4.00000 0
+37 4.00000 4.00000 0
+38 5.00000 4.00000 0
+39 6.00000 4.00000 0
+40 7.00000 4.00000 0
+41 0.00000 5.00000 0
+42 1.00000 5.00000 0
+43 2.00000 5.00000 0
+44 3.00000 5.00000 0
+45 4.00000 5.00000 0
+46 5.00000 5.00000 0
+47 6.00000 5.00000 0
+48 7.00000 5.00000 0
+$ENDNOD
+$ELM
+29
+1 3 0 0 4 1 2 10 9
+2 3 0 0 4 2 3 11 10
+3 3 0 0 4 3 4 12 11
+4 3 0 0 4 4 5 13 12
+5 3 0 0 4 5 6 14 13
+6 3 0 0 4 6 7 15 14
+7 3 0 0 4 7 8 16 15
+8 3 0 0 4 9 10 18 17
+9 3 0 0 4 11 12 20 19
+10 3 0 0 4 13 14 22 21
+11 3 0 0 4 15 16 24 23
+12 3 0 0 4 17 18 26 25
+13 3 0 0 4 18 19 27 26
+14 3 0 0 4 19 20 28 27
+15 3 0 0 4 20 21 29 28
+16 3 0 0 4 21 22 30 29
+17 3 0 0 4 22 23 31 30
+18 3 0 0 4 23 24 32 31
+19 3 0 0 4 25 26 34 33
+20 3 0 0 4 27 28 36 35
+21 3 0 0 4 29 30 38 37
+22 3 0 0 4 31 32 40 39
+23 3 0 0 4 33 34 42 41
+24 3 0 0 4 34 35 43 42
+25 3 0 0 4 35 36 44 43
+26 3 0 0 4 36 37 45 44
+27 3 0 0 4 37 38 46 45
+28 3 0 0 4 38 39 47 46
+29 3 0 0 4 39 40 48 47
+$ENDELM
+DEAL::Generating Triangulation<2, 3> : cheese(3, 2)
+$NOD
+48
+1 0.00000 0.00000 0.00000
+2 1.00000 0.00000 0.00000
+3 2.00000 0.00000 0.00000
+4 3.00000 0.00000 0.00000
+5 4.00000 0.00000 0.00000
+6 5.00000 0.00000 0.00000
+7 6.00000 0.00000 0.00000
+8 7.00000 0.00000 0.00000
+9 0.00000 1.00000 0.00000
+10 1.00000 1.00000 0.00000
+11 2.00000 1.00000 0.00000
+12 3.00000 1.00000 0.00000
+13 4.00000 1.00000 0.00000
+14 5.00000 1.00000 0.00000
+15 6.00000 1.00000 0.00000
+16 7.00000 1.00000 0.00000
+17 0.00000 2.00000 0.00000
+18 1.00000 2.00000 0.00000
+19 2.00000 2.00000 0.00000
+20 3.00000 2.00000 0.00000
+21 4.00000 2.00000 0.00000
+22 5.00000 2.00000 0.00000
+23 6.00000 2.00000 0.00000
+24 7.00000 2.00000 0.00000
+25 0.00000 3.00000 0.00000
+26 1.00000 3.00000 0.00000
+27 2.00000 3.00000 0.00000
+28 3.00000 3.00000 0.00000
+29 4.00000 3.00000 0.00000
+30 5.00000 3.00000 0.00000
+31 6.00000 3.00000 0.00000
+32 7.00000 3.00000 0.00000
+33 0.00000 4.00000 0.00000
+34 1.00000 4.00000 0.00000
+35 2.00000 4.00000 0.00000
+36 3.00000 4.00000 0.00000
+37 4.00000 4.00000 0.00000
+38 5.00000 4.00000 0.00000
+39 6.00000 4.00000 0.00000
+40 7.00000 4.00000 0.00000
+41 0.00000 5.00000 0.00000
+42 1.00000 5.00000 0.00000
+43 2.00000 5.00000 0.00000
+44 3.00000 5.00000 0.00000
+45 4.00000 5.00000 0.00000
+46 5.00000 5.00000 0.00000
+47 6.00000 5.00000 0.00000
+48 7.00000 5.00000 0.00000
+$ENDNOD
+$ELM
+29
+1 3 0 0 4 1 2 10 9
+2 3 0 0 4 2 3 11 10
+3 3 0 0 4 3 4 12 11
+4 3 0 0 4 4 5 13 12
+5 3 0 0 4 5 6 14 13
+6 3 0 0 4 6 7 15 14
+7 3 0 0 4 7 8 16 15
+8 3 0 0 4 9 10 18 17
+9 3 0 0 4 11 12 20 19
+10 3 0 0 4 13 14 22 21
+11 3 0 0 4 15 16 24 23
+12 3 0 0 4 17 18 26 25
+13 3 0 0 4 18 19 27 26
+14 3 0 0 4 19 20 28 27
+15 3 0 0 4 20 21 29 28
+16 3 0 0 4 21 22 30 29
+17 3 0 0 4 22 23 31 30
+18 3 0 0 4 23 24 32 31
+19 3 0 0 4 25 26 34 33
+20 3 0 0 4 27 28 36 35
+21 3 0 0 4 29 30 38 37
+22 3 0 0 4 31 32 40 39
+23 3 0 0 4 33 34 42 41
+24 3 0 0 4 34 35 43 42
+25 3 0 0 4 35 36 44 43
+26 3 0 0 4 36 37 45 44
+27 3 0 0 4 37 38 46 45
+28 3 0 0 4 38 39 47 46
+29 3 0 0 4 39 40 48 47
+$ENDELM
+DEAL::Generating Triangulation<3, 3> : cheese(4, 3, 2)
+$NOD
+480
+1 0.00000 0.00000 0.00000
+2 1.00000 0.00000 0.00000
+3 2.00000 0.00000 0.00000
+4 3.00000 0.00000 0.00000
+5 4.00000 0.00000 0.00000
+6 5.00000 0.00000 0.00000
+7 6.00000 0.00000 0.00000
+8 7.00000 0.00000 0.00000
+9 8.00000 0.00000 0.00000
+10 9.00000 0.00000 0.00000
+11 0.00000 1.00000 0.00000
+12 1.00000 1.00000 0.00000
+13 2.00000 1.00000 0.00000
+14 3.00000 1.00000 0.00000
+15 4.00000 1.00000 0.00000
+16 5.00000 1.00000 0.00000
+17 6.00000 1.00000 0.00000
+18 7.00000 1.00000 0.00000
+19 8.00000 1.00000 0.00000
+20 9.00000 1.00000 0.00000
+21 0.00000 2.00000 0.00000
+22 1.00000 2.00000 0.00000
+23 2.00000 2.00000 0.00000
+24 3.00000 2.00000 0.00000
+25 4.00000 2.00000 0.00000
+26 5.00000 2.00000 0.00000
+27 6.00000 2.00000 0.00000
+28 7.00000 2.00000 0.00000
+29 8.00000 2.00000 0.00000
+30 9.00000 2.00000 0.00000
+31 0.00000 3.00000 0.00000
+32 1.00000 3.00000 0.00000
+33 2.00000 3.00000 0.00000
+34 3.00000 3.00000 0.00000
+35 4.00000 3.00000 0.00000
+36 5.00000 3.00000 0.00000
+37 6.00000 3.00000 0.00000
+38 7.00000 3.00000 0.00000
+39 8.00000 3.00000 0.00000
+40 9.00000 3.00000 0.00000
+41 0.00000 4.00000 0.00000
+42 1.00000 4.00000 0.00000
+43 2.00000 4.00000 0.00000
+44 3.00000 4.00000 0.00000
+45 4.00000 4.00000 0.00000
+46 5.00000 4.00000 0.00000
+47 6.00000 4.00000 0.00000
+48 7.00000 4.00000 0.00000
+49 8.00000 4.00000 0.00000
+50 9.00000 4.00000 0.00000
+51 0.00000 5.00000 0.00000
+52 1.00000 5.00000 0.00000
+53 2.00000 5.00000 0.00000
+54 3.00000 5.00000 0.00000
+55 4.00000 5.00000 0.00000
+56 5.00000 5.00000 0.00000
+57 6.00000 5.00000 0.00000
+58 7.00000 5.00000 0.00000
+59 8.00000 5.00000 0.00000
+60 9.00000 5.00000 0.00000
+61 0.00000 6.00000 0.00000
+62 1.00000 6.00000 0.00000
+63 2.00000 6.00000 0.00000
+64 3.00000 6.00000 0.00000
+65 4.00000 6.00000 0.00000
+66 5.00000 6.00000 0.00000
+67 6.00000 6.00000 0.00000
+68 7.00000 6.00000 0.00000
+69 8.00000 6.00000 0.00000
+70 9.00000 6.00000 0.00000
+71 0.00000 7.00000 0.00000
+72 1.00000 7.00000 0.00000
+73 2.00000 7.00000 0.00000
+74 3.00000 7.00000 0.00000
+75 4.00000 7.00000 0.00000
+76 5.00000 7.00000 0.00000
+77 6.00000 7.00000 0.00000
+78 7.00000 7.00000 0.00000
+79 8.00000 7.00000 0.00000
+80 9.00000 7.00000 0.00000
+81 0.00000 0.00000 1.00000
+82 1.00000 0.00000 1.00000
+83 2.00000 0.00000 1.00000
+84 3.00000 0.00000 1.00000
+85 4.00000 0.00000 1.00000
+86 5.00000 0.00000 1.00000
+87 6.00000 0.00000 1.00000
+88 7.00000 0.00000 1.00000
+89 8.00000 0.00000 1.00000
+90 9.00000 0.00000 1.00000
+91 0.00000 1.00000 1.00000
+92 1.00000 1.00000 1.00000
+93 2.00000 1.00000 1.00000
+94 3.00000 1.00000 1.00000
+95 4.00000 1.00000 1.00000
+96 5.00000 1.00000 1.00000
+97 6.00000 1.00000 1.00000
+98 7.00000 1.00000 1.00000
+99 8.00000 1.00000 1.00000
+100 9.00000 1.00000 1.00000
+101 0.00000 2.00000 1.00000
+102 1.00000 2.00000 1.00000
+103 2.00000 2.00000 1.00000
+104 3.00000 2.00000 1.00000
+105 4.00000 2.00000 1.00000
+106 5.00000 2.00000 1.00000
+107 6.00000 2.00000 1.00000
+108 7.00000 2.00000 1.00000
+109 8.00000 2.00000 1.00000
+110 9.00000 2.00000 1.00000
+111 0.00000 3.00000 1.00000
+112 1.00000 3.00000 1.00000
+113 2.00000 3.00000 1.00000
+114 3.00000 3.00000 1.00000
+115 4.00000 3.00000 1.00000
+116 5.00000 3.00000 1.00000
+117 6.00000 3.00000 1.00000
+118 7.00000 3.00000 1.00000
+119 8.00000 3.00000 1.00000
+120 9.00000 3.00000 1.00000
+121 0.00000 4.00000 1.00000
+122 1.00000 4.00000 1.00000
+123 2.00000 4.00000 1.00000
+124 3.00000 4.00000 1.00000
+125 4.00000 4.00000 1.00000
+126 5.00000 4.00000 1.00000
+127 6.00000 4.00000 1.00000
+128 7.00000 4.00000 1.00000
+129 8.00000 4.00000 1.00000
+130 9.00000 4.00000 1.00000
+131 0.00000 5.00000 1.00000
+132 1.00000 5.00000 1.00000
+133 2.00000 5.00000 1.00000
+134 3.00000 5.00000 1.00000
+135 4.00000 5.00000 1.00000
+136 5.00000 5.00000 1.00000
+137 6.00000 5.00000 1.00000
+138 7.00000 5.00000 1.00000
+139 8.00000 5.00000 1.00000
+140 9.00000 5.00000 1.00000
+141 0.00000 6.00000 1.00000
+142 1.00000 6.00000 1.00000
+143 2.00000 6.00000 1.00000
+144 3.00000 6.00000 1.00000
+145 4.00000 6.00000 1.00000
+146 5.00000 6.00000 1.00000
+147 6.00000 6.00000 1.00000
+148 7.00000 6.00000 1.00000
+149 8.00000 6.00000 1.00000
+150 9.00000 6.00000 1.00000
+151 0.00000 7.00000 1.00000
+152 1.00000 7.00000 1.00000
+153 2.00000 7.00000 1.00000
+154 3.00000 7.00000 1.00000
+155 4.00000 7.00000 1.00000
+156 5.00000 7.00000 1.00000
+157 6.00000 7.00000 1.00000
+158 7.00000 7.00000 1.00000
+159 8.00000 7.00000 1.00000
+160 9.00000 7.00000 1.00000
+161 0.00000 0.00000 2.00000
+162 1.00000 0.00000 2.00000
+163 2.00000 0.00000 2.00000
+164 3.00000 0.00000 2.00000
+165 4.00000 0.00000 2.00000
+166 5.00000 0.00000 2.00000
+167 6.00000 0.00000 2.00000
+168 7.00000 0.00000 2.00000
+169 8.00000 0.00000 2.00000
+170 9.00000 0.00000 2.00000
+171 0.00000 1.00000 2.00000
+172 1.00000 1.00000 2.00000
+173 2.00000 1.00000 2.00000
+174 3.00000 1.00000 2.00000
+175 4.00000 1.00000 2.00000
+176 5.00000 1.00000 2.00000
+177 6.00000 1.00000 2.00000
+178 7.00000 1.00000 2.00000
+179 8.00000 1.00000 2.00000
+180 9.00000 1.00000 2.00000
+181 0.00000 2.00000 2.00000
+182 1.00000 2.00000 2.00000
+183 2.00000 2.00000 2.00000
+184 3.00000 2.00000 2.00000
+185 4.00000 2.00000 2.00000
+186 5.00000 2.00000 2.00000
+187 6.00000 2.00000 2.00000
+188 7.00000 2.00000 2.00000
+189 8.00000 2.00000 2.00000
+190 9.00000 2.00000 2.00000
+191 0.00000 3.00000 2.00000
+192 1.00000 3.00000 2.00000
+193 2.00000 3.00000 2.00000
+194 3.00000 3.00000 2.00000
+195 4.00000 3.00000 2.00000
+196 5.00000 3.00000 2.00000
+197 6.00000 3.00000 2.00000
+198 7.00000 3.00000 2.00000
+199 8.00000 3.00000 2.00000
+200 9.00000 3.00000 2.00000
+201 0.00000 4.00000 2.00000
+202 1.00000 4.00000 2.00000
+203 2.00000 4.00000 2.00000
+204 3.00000 4.00000 2.00000
+205 4.00000 4.00000 2.00000
+206 5.00000 4.00000 2.00000
+207 6.00000 4.00000 2.00000
+208 7.00000 4.00000 2.00000
+209 8.00000 4.00000 2.00000
+210 9.00000 4.00000 2.00000
+211 0.00000 5.00000 2.00000
+212 1.00000 5.00000 2.00000
+213 2.00000 5.00000 2.00000
+214 3.00000 5.00000 2.00000
+215 4.00000 5.00000 2.00000
+216 5.00000 5.00000 2.00000
+217 6.00000 5.00000 2.00000
+218 7.00000 5.00000 2.00000
+219 8.00000 5.00000 2.00000
+220 9.00000 5.00000 2.00000
+221 0.00000 6.00000 2.00000
+222 1.00000 6.00000 2.00000
+223 2.00000 6.00000 2.00000
+224 3.00000 6.00000 2.00000
+225 4.00000 6.00000 2.00000
+226 5.00000 6.00000 2.00000
+227 6.00000 6.00000 2.00000
+228 7.00000 6.00000 2.00000
+229 8.00000 6.00000 2.00000
+230 9.00000 6.00000 2.00000
+231 0.00000 7.00000 2.00000
+232 1.00000 7.00000 2.00000
+233 2.00000 7.00000 2.00000
+234 3.00000 7.00000 2.00000
+235 4.00000 7.00000 2.00000
+236 5.00000 7.00000 2.00000
+237 6.00000 7.00000 2.00000
+238 7.00000 7.00000 2.00000
+239 8.00000 7.00000 2.00000
+240 9.00000 7.00000 2.00000
+241 0.00000 0.00000 3.00000
+242 1.00000 0.00000 3.00000
+243 2.00000 0.00000 3.00000
+244 3.00000 0.00000 3.00000
+245 4.00000 0.00000 3.00000
+246 5.00000 0.00000 3.00000
+247 6.00000 0.00000 3.00000
+248 7.00000 0.00000 3.00000
+249 8.00000 0.00000 3.00000
+250 9.00000 0.00000 3.00000
+251 0.00000 1.00000 3.00000
+252 1.00000 1.00000 3.00000
+253 2.00000 1.00000 3.00000
+254 3.00000 1.00000 3.00000
+255 4.00000 1.00000 3.00000
+256 5.00000 1.00000 3.00000
+257 6.00000 1.00000 3.00000
+258 7.00000 1.00000 3.00000
+259 8.00000 1.00000 3.00000
+260 9.00000 1.00000 3.00000
+261 0.00000 2.00000 3.00000
+262 1.00000 2.00000 3.00000
+263 2.00000 2.00000 3.00000
+264 3.00000 2.00000 3.00000
+265 4.00000 2.00000 3.00000
+266 5.00000 2.00000 3.00000
+267 6.00000 2.00000 3.00000
+268 7.00000 2.00000 3.00000
+269 8.00000 2.00000 3.00000
+270 9.00000 2.00000 3.00000
+271 0.00000 3.00000 3.00000
+272 1.00000 3.00000 3.00000
+273 2.00000 3.00000 3.00000
+274 3.00000 3.00000 3.00000
+275 4.00000 3.00000 3.00000
+276 5.00000 3.00000 3.00000
+277 6.00000 3.00000 3.00000
+278 7.00000 3.00000 3.00000
+279 8.00000 3.00000 3.00000
+280 9.00000 3.00000 3.00000
+281 0.00000 4.00000 3.00000
+282 1.00000 4.00000 3.00000
+283 2.00000 4.00000 3.00000
+284 3.00000 4.00000 3.00000
+285 4.00000 4.00000 3.00000
+286 5.00000 4.00000 3.00000
+287 6.00000 4.00000 3.00000
+288 7.00000 4.00000 3.00000
+289 8.00000 4.00000 3.00000
+290 9.00000 4.00000 3.00000
+291 0.00000 5.00000 3.00000
+292 1.00000 5.00000 3.00000
+293 2.00000 5.00000 3.00000
+294 3.00000 5.00000 3.00000
+295 4.00000 5.00000 3.00000
+296 5.00000 5.00000 3.00000
+297 6.00000 5.00000 3.00000
+298 7.00000 5.00000 3.00000
+299 8.00000 5.00000 3.00000
+300 9.00000 5.00000 3.00000
+301 0.00000 6.00000 3.00000
+302 1.00000 6.00000 3.00000
+303 2.00000 6.00000 3.00000
+304 3.00000 6.00000 3.00000
+305 4.00000 6.00000 3.00000
+306 5.00000 6.00000 3.00000
+307 6.00000 6.00000 3.00000
+308 7.00000 6.00000 3.00000
+309 8.00000 6.00000 3.00000
+310 9.00000 6.00000 3.00000
+311 0.00000 7.00000 3.00000
+312 1.00000 7.00000 3.00000
+313 2.00000 7.00000 3.00000
+314 3.00000 7.00000 3.00000
+315 4.00000 7.00000 3.00000
+316 5.00000 7.00000 3.00000
+317 6.00000 7.00000 3.00000
+318 7.00000 7.00000 3.00000
+319 8.00000 7.00000 3.00000
+320 9.00000 7.00000 3.00000
+321 0.00000 0.00000 4.00000
+322 1.00000 0.00000 4.00000
+323 2.00000 0.00000 4.00000
+324 3.00000 0.00000 4.00000
+325 4.00000 0.00000 4.00000
+326 5.00000 0.00000 4.00000
+327 6.00000 0.00000 4.00000
+328 7.00000 0.00000 4.00000
+329 8.00000 0.00000 4.00000
+330 9.00000 0.00000 4.00000
+331 0.00000 1.00000 4.00000
+332 1.00000 1.00000 4.00000
+333 2.00000 1.00000 4.00000
+334 3.00000 1.00000 4.00000
+335 4.00000 1.00000 4.00000
+336 5.00000 1.00000 4.00000
+337 6.00000 1.00000 4.00000
+338 7.00000 1.00000 4.00000
+339 8.00000 1.00000 4.00000
+340 9.00000 1.00000 4.00000
+341 0.00000 2.00000 4.00000
+342 1.00000 2.00000 4.00000
+343 2.00000 2.00000 4.00000
+344 3.00000 2.00000 4.00000
+345 4.00000 2.00000 4.00000
+346 5.00000 2.00000 4.00000
+347 6.00000 2.00000 4.00000
+348 7.00000 2.00000 4.00000
+349 8.00000 2.00000 4.00000
+350 9.00000 2.00000 4.00000
+351 0.00000 3.00000 4.00000
+352 1.00000 3.00000 4.00000
+353 2.00000 3.00000 4.00000
+354 3.00000 3.00000 4.00000
+355 4.00000 3.00000 4.00000
+356 5.00000 3.00000 4.00000
+357 6.00000 3.00000 4.00000
+358 7.00000 3.00000 4.00000
+359 8.00000 3.00000 4.00000
+360 9.00000 3.00000 4.00000
+361 0.00000 4.00000 4.00000
+362 1.00000 4.00000 4.00000
+363 2.00000 4.00000 4.00000
+364 3.00000 4.00000 4.00000
+365 4.00000 4.00000 4.00000
+366 5.00000 4.00000 4.00000
+367 6.00000 4.00000 4.00000
+368 7.00000 4.00000 4.00000
+369 8.00000 4.00000 4.00000
+370 9.00000 4.00000 4.00000
+371 0.00000 5.00000 4.00000
+372 1.00000 5.00000 4.00000
+373 2.00000 5.00000 4.00000
+374 3.00000 5.00000 4.00000
+375 4.00000 5.00000 4.00000
+376 5.00000 5.00000 4.00000
+377 6.00000 5.00000 4.00000
+378 7.00000 5.00000 4.00000
+379 8.00000 5.00000 4.00000
+380 9.00000 5.00000 4.00000
+381 0.00000 6.00000 4.00000
+382 1.00000 6.00000 4.00000
+383 2.00000 6.00000 4.00000
+384 3.00000 6.00000 4.00000
+385 4.00000 6.00000 4.00000
+386 5.00000 6.00000 4.00000
+387 6.00000 6.00000 4.00000
+388 7.00000 6.00000 4.00000
+389 8.00000 6.00000 4.00000
+390 9.00000 6.00000 4.00000
+391 0.00000 7.00000 4.00000
+392 1.00000 7.00000 4.00000
+393 2.00000 7.00000 4.00000
+394 3.00000 7.00000 4.00000
+395 4.00000 7.00000 4.00000
+396 5.00000 7.00000 4.00000
+397 6.00000 7.00000 4.00000
+398 7.00000 7.00000 4.00000
+399 8.00000 7.00000 4.00000
+400 9.00000 7.00000 4.00000
+401 0.00000 0.00000 5.00000
+402 1.00000 0.00000 5.00000
+403 2.00000 0.00000 5.00000
+404 3.00000 0.00000 5.00000
+405 4.00000 0.00000 5.00000
+406 5.00000 0.00000 5.00000
+407 6.00000 0.00000 5.00000
+408 7.00000 0.00000 5.00000
+409 8.00000 0.00000 5.00000
+410 9.00000 0.00000 5.00000
+411 0.00000 1.00000 5.00000
+412 1.00000 1.00000 5.00000
+413 2.00000 1.00000 5.00000
+414 3.00000 1.00000 5.00000
+415 4.00000 1.00000 5.00000
+416 5.00000 1.00000 5.00000
+417 6.00000 1.00000 5.00000
+418 7.00000 1.00000 5.00000
+419 8.00000 1.00000 5.00000
+420 9.00000 1.00000 5.00000
+421 0.00000 2.00000 5.00000
+422 1.00000 2.00000 5.00000
+423 2.00000 2.00000 5.00000
+424 3.00000 2.00000 5.00000
+425 4.00000 2.00000 5.00000
+426 5.00000 2.00000 5.00000
+427 6.00000 2.00000 5.00000
+428 7.00000 2.00000 5.00000
+429 8.00000 2.00000 5.00000
+430 9.00000 2.00000 5.00000
+431 0.00000 3.00000 5.00000
+432 1.00000 3.00000 5.00000
+433 2.00000 3.00000 5.00000
+434 3.00000 3.00000 5.00000
+435 4.00000 3.00000 5.00000
+436 5.00000 3.00000 5.00000
+437 6.00000 3.00000 5.00000
+438 7.00000 3.00000 5.00000
+439 8.00000 3.00000 5.00000
+440 9.00000 3.00000 5.00000
+441 0.00000 4.00000 5.00000
+442 1.00000 4.00000 5.00000
+443 2.00000 4.00000 5.00000
+444 3.00000 4.00000 5.00000
+445 4.00000 4.00000 5.00000
+446 5.00000 4.00000 5.00000
+447 6.00000 4.00000 5.00000
+448 7.00000 4.00000 5.00000
+449 8.00000 4.00000 5.00000
+450 9.00000 4.00000 5.00000
+451 0.00000 5.00000 5.00000
+452 1.00000 5.00000 5.00000
+453 2.00000 5.00000 5.00000
+454 3.00000 5.00000 5.00000
+455 4.00000 5.00000 5.00000
+456 5.00000 5.00000 5.00000
+457 6.00000 5.00000 5.00000
+458 7.00000 5.00000 5.00000
+459 8.00000 5.00000 5.00000
+460 9.00000 5.00000 5.00000
+461 0.00000 6.00000 5.00000
+462 1.00000 6.00000 5.00000
+463 2.00000 6.00000 5.00000
+464 3.00000 6.00000 5.00000
+465 4.00000 6.00000 5.00000
+466 5.00000 6.00000 5.00000
+467 6.00000 6.00000 5.00000
+468 7.00000 6.00000 5.00000
+469 8.00000 6.00000 5.00000
+470 9.00000 6.00000 5.00000
+471 0.00000 7.00000 5.00000
+472 1.00000 7.00000 5.00000
+473 2.00000 7.00000 5.00000
+474 3.00000 7.00000 5.00000
+475 4.00000 7.00000 5.00000
+476 5.00000 7.00000 5.00000
+477 6.00000 7.00000 5.00000
+478 7.00000 7.00000 5.00000
+479 8.00000 7.00000 5.00000
+480 9.00000 7.00000 5.00000
+$ENDNOD
+$ELM
+315
+1 5 0 0 8 1 2 82 81 11 12 92 91
+2 5 0 0 8 2 3 83 82 12 13 93 92
+3 5 0 0 8 3 4 84 83 13 14 94 93
+4 5 0 0 8 4 5 85 84 14 15 95 94
+5 5 0 0 8 5 6 86 85 15 16 96 95
+6 5 0 0 8 6 7 87 86 16 17 97 96
+7 5 0 0 8 7 8 88 87 17 18 98 97
+8 5 0 0 8 8 9 89 88 18 19 99 98
+9 5 0 0 8 9 10 90 89 19 20 100 99
+10 5 0 0 8 11 12 92 91 21 22 102 101
+11 5 0 0 8 12 13 93 92 22 23 103 102
+12 5 0 0 8 13 14 94 93 23 24 104 103
+13 5 0 0 8 14 15 95 94 24 25 105 104
+14 5 0 0 8 15 16 96 95 25 26 106 105
+15 5 0 0 8 16 17 97 96 26 27 107 106
+16 5 0 0 8 17 18 98 97 27 28 108 107
+17 5 0 0 8 18 19 99 98 28 29 109 108
+18 5 0 0 8 19 20 100 99 29 30 110 109
+19 5 0 0 8 21 22 102 101 31 32 112 111
+20 5 0 0 8 22 23 103 102 32 33 113 112
+21 5 0 0 8 23 24 104 103 33 34 114 113
+22 5 0 0 8 24 25 105 104 34 35 115 114
+23 5 0 0 8 25 26 106 105 35 36 116 115
+24 5 0 0 8 26 27 107 106 36 37 117 116
+25 5 0 0 8 27 28 108 107 37 38 118 117
+26 5 0 0 8 28 29 109 108 38 39 119 118
+27 5 0 0 8 29 30 110 109 39 40 120 119
+28 5 0 0 8 31 32 112 111 41 42 122 121
+29 5 0 0 8 32 33 113 112 42 43 123 122
+30 5 0 0 8 33 34 114 113 43 44 124 123
+31 5 0 0 8 34 35 115 114 44 45 125 124
+32 5 0 0 8 35 36 116 115 45 46 126 125
+33 5 0 0 8 36 37 117 116 46 47 127 126
+34 5 0 0 8 37 38 118 117 47 48 128 127
+35 5 0 0 8 38 39 119 118 48 49 129 128
+36 5 0 0 8 39 40 120 119 49 50 130 129
+37 5 0 0 8 41 42 122 121 51 52 132 131
+38 5 0 0 8 42 43 123 122 52 53 133 132
+39 5 0 0 8 43 44 124 123 53 54 134 133
+40 5 0 0 8 44 45 125 124 54 55 135 134
+41 5 0 0 8 45 46 126 125 55 56 136 135
+42 5 0 0 8 46 47 127 126 56 57 137 136
+43 5 0 0 8 47 48 128 127 57 58 138 137
+44 5 0 0 8 48 49 129 128 58 59 139 138
+45 5 0 0 8 49 50 130 129 59 60 140 139
+46 5 0 0 8 51 52 132 131 61 62 142 141
+47 5 0 0 8 52 53 133 132 62 63 143 142
+48 5 0 0 8 53 54 134 133 63 64 144 143
+49 5 0 0 8 54 55 135 134 64 65 145 144
+50 5 0 0 8 55 56 136 135 65 66 146 145
+51 5 0 0 8 56 57 137 136 66 67 147 146
+52 5 0 0 8 57 58 138 137 67 68 148 147
+53 5 0 0 8 58 59 139 138 68 69 149 148
+54 5 0 0 8 59 60 140 139 69 70 150 149
+55 5 0 0 8 61 62 142 141 71 72 152 151
+56 5 0 0 8 62 63 143 142 72 73 153 152
+57 5 0 0 8 63 64 144 143 73 74 154 153
+58 5 0 0 8 64 65 145 144 74 75 155 154
+59 5 0 0 8 65 66 146 145 75 76 156 155
+60 5 0 0 8 66 67 147 146 76 77 157 156
+61 5 0 0 8 67 68 148 147 77 78 158 157
+62 5 0 0 8 68 69 149 148 78 79 159 158
+63 5 0 0 8 69 70 150 149 79 80 160 159
+64 5 0 0 8 81 82 162 161 91 92 172 171
+65 5 0 0 8 82 83 163 162 92 93 173 172
+66 5 0 0 8 83 84 164 163 93 94 174 173
+67 5 0 0 8 84 85 165 164 94 95 175 174
+68 5 0 0 8 85 86 166 165 95 96 176 175
+69 5 0 0 8 86 87 167 166 96 97 177 176
+70 5 0 0 8 87 88 168 167 97 98 178 177
+71 5 0 0 8 88 89 169 168 98 99 179 178
+72 5 0 0 8 89 90 170 169 99 100 180 179
+73 5 0 0 8 91 92 172 171 101 102 182 181
+74 5 0 0 8 92 93 173 172 102 103 183 182
+75 5 0 0 8 93 94 174 173 103 104 184 183
+76 5 0 0 8 94 95 175 174 104 105 185 184
+77 5 0 0 8 95 96 176 175 105 106 186 185
+78 5 0 0 8 96 97 177 176 106 107 187 186
+79 5 0 0 8 97 98 178 177 107 108 188 187
+80 5 0 0 8 98 99 179 178 108 109 189 188
+81 5 0 0 8 99 100 180 179 109 110 190 189
+82 5 0 0 8 101 102 182 181 111 112 192 191
+83 5 0 0 8 102 103 183 182 112 113 193 192
+84 5 0 0 8 103 104 184 183 113 114 194 193
+85 5 0 0 8 104 105 185 184 114 115 195 194
+86 5 0 0 8 105 106 186 185 115 116 196 195
+87 5 0 0 8 106 107 187 186 116 117 197 196
+88 5 0 0 8 107 108 188 187 117 118 198 197
+89 5 0 0 8 108 109 189 188 118 119 199 198
+90 5 0 0 8 109 110 190 189 119 120 200 199
+91 5 0 0 8 111 112 192 191 121 122 202 201
+92 5 0 0 8 112 113 193 192 122 123 203 202
+93 5 0 0 8 113 114 194 193 123 124 204 203
+94 5 0 0 8 114 115 195 194 124 125 205 204
+95 5 0 0 8 115 116 196 195 125 126 206 205
+96 5 0 0 8 116 117 197 196 126 127 207 206
+97 5 0 0 8 117 118 198 197 127 128 208 207
+98 5 0 0 8 118 119 199 198 128 129 209 208
+99 5 0 0 8 119 120 200 199 129 130 210 209
+100 5 0 0 8 121 122 202 201 131 132 212 211
+101 5 0 0 8 122 123 203 202 132 133 213 212
+102 5 0 0 8 123 124 204 203 133 134 214 213
+103 5 0 0 8 124 125 205 204 134 135 215 214
+104 5 0 0 8 125 126 206 205 135 136 216 215
+105 5 0 0 8 126 127 207 206 136 137 217 216
+106 5 0 0 8 127 128 208 207 137 138 218 217
+107 5 0 0 8 128 129 209 208 138 139 219 218
+108 5 0 0 8 129 130 210 209 139 140 220 219
+109 5 0 0 8 131 132 212 211 141 142 222 221
+110 5 0 0 8 132 133 213 212 142 143 223 222
+111 5 0 0 8 133 134 214 213 143 144 224 223
+112 5 0 0 8 134 135 215 214 144 145 225 224
+113 5 0 0 8 135 136 216 215 145 146 226 225
+114 5 0 0 8 136 137 217 216 146 147 227 226
+115 5 0 0 8 137 138 218 217 147 148 228 227
+116 5 0 0 8 138 139 219 218 148 149 229 228
+117 5 0 0 8 139 140 220 219 149 150 230 229
+118 5 0 0 8 141 142 222 221 151 152 232 231
+119 5 0 0 8 142 143 223 222 152 153 233 232
+120 5 0 0 8 143 144 224 223 153 154 234 233
+121 5 0 0 8 144 145 225 224 154 155 235 234
+122 5 0 0 8 145 146 226 225 155 156 236 235
+123 5 0 0 8 146 147 227 226 156 157 237 236
+124 5 0 0 8 147 148 228 227 157 158 238 237
+125 5 0 0 8 148 149 229 228 158 159 239 238
+126 5 0 0 8 149 150 230 229 159 160 240 239
+127 5 0 0 8 161 162 242 241 171 172 252 251
+128 5 0 0 8 162 163 243 242 172 173 253 252
+129 5 0 0 8 163 164 244 243 173 174 254 253
+130 5 0 0 8 164 165 245 244 174 175 255 254
+131 5 0 0 8 165 166 246 245 175 176 256 255
+132 5 0 0 8 166 167 247 246 176 177 257 256
+133 5 0 0 8 167 168 248 247 177 178 258 257
+134 5 0 0 8 168 169 249 248 178 179 259 258
+135 5 0 0 8 169 170 250 249 179 180 260 259
+136 5 0 0 8 171 172 252 251 181 182 262 261
+137 5 0 0 8 172 173 253 252 182 183 263 262
+138 5 0 0 8 173 174 254 253 183 184 264 263
+139 5 0 0 8 174 175 255 254 184 185 265 264
+140 5 0 0 8 175 176 256 255 185 186 266 265
+141 5 0 0 8 176 177 257 256 186 187 267 266
+142 5 0 0 8 177 178 258 257 187 188 268 267
+143 5 0 0 8 178 179 259 258 188 189 269 268
+144 5 0 0 8 179 180 260 259 189 190 270 269
+145 5 0 0 8 181 182 262 261 191 192 272 271
+146 5 0 0 8 182 183 263 262 192 193 273 272
+147 5 0 0 8 183 184 264 263 193 194 274 273
+148 5 0 0 8 184 185 265 264 194 195 275 274
+149 5 0 0 8 185 186 266 265 195 196 276 275
+150 5 0 0 8 186 187 267 266 196 197 277 276
+151 5 0 0 8 187 188 268 267 197 198 278 277
+152 5 0 0 8 188 189 269 268 198 199 279 278
+153 5 0 0 8 189 190 270 269 199 200 280 279
+154 5 0 0 8 191 192 272 271 201 202 282 281
+155 5 0 0 8 192 193 273 272 202 203 283 282
+156 5 0 0 8 193 194 274 273 203 204 284 283
+157 5 0 0 8 194 195 275 274 204 205 285 284
+158 5 0 0 8 195 196 276 275 205 206 286 285
+159 5 0 0 8 196 197 277 276 206 207 287 286
+160 5 0 0 8 197 198 278 277 207 208 288 287
+161 5 0 0 8 198 199 279 278 208 209 289 288
+162 5 0 0 8 199 200 280 279 209 210 290 289
+163 5 0 0 8 201 202 282 281 211 212 292 291
+164 5 0 0 8 202 203 283 282 212 213 293 292
+165 5 0 0 8 203 204 284 283 213 214 294 293
+166 5 0 0 8 204 205 285 284 214 215 295 294
+167 5 0 0 8 205 206 286 285 215 216 296 295
+168 5 0 0 8 206 207 287 286 216 217 297 296
+169 5 0 0 8 207 208 288 287 217 218 298 297
+170 5 0 0 8 208 209 289 288 218 219 299 298
+171 5 0 0 8 209 210 290 289 219 220 300 299
+172 5 0 0 8 211 212 292 291 221 222 302 301
+173 5 0 0 8 212 213 293 292 222 223 303 302
+174 5 0 0 8 213 214 294 293 223 224 304 303
+175 5 0 0 8 214 215 295 294 224 225 305 304
+176 5 0 0 8 215 216 296 295 225 226 306 305
+177 5 0 0 8 216 217 297 296 226 227 307 306
+178 5 0 0 8 217 218 298 297 227 228 308 307
+179 5 0 0 8 218 219 299 298 228 229 309 308
+180 5 0 0 8 219 220 300 299 229 230 310 309
+181 5 0 0 8 221 222 302 301 231 232 312 311
+182 5 0 0 8 222 223 303 302 232 233 313 312
+183 5 0 0 8 223 224 304 303 233 234 314 313
+184 5 0 0 8 224 225 305 304 234 235 315 314
+185 5 0 0 8 225 226 306 305 235 236 316 315
+186 5 0 0 8 226 227 307 306 236 237 317 316
+187 5 0 0 8 227 228 308 307 237 238 318 317
+188 5 0 0 8 228 229 309 308 238 239 319 318
+189 5 0 0 8 229 230 310 309 239 240 320 319
+190 5 0 0 8 241 242 322 321 251 252 332 331
+191 5 0 0 8 242 243 323 322 252 253 333 332
+192 5 0 0 8 243 244 324 323 253 254 334 333
+193 5 0 0 8 244 245 325 324 254 255 335 334
+194 5 0 0 8 245 246 326 325 255 256 336 335
+195 5 0 0 8 246 247 327 326 256 257 337 336
+196 5 0 0 8 247 248 328 327 257 258 338 337
+197 5 0 0 8 248 249 329 328 258 259 339 338
+198 5 0 0 8 249 250 330 329 259 260 340 339
+199 5 0 0 8 251 252 332 331 261 262 342 341
+200 5 0 0 8 252 253 333 332 262 263 343 342
+201 5 0 0 8 253 254 334 333 263 264 344 343
+202 5 0 0 8 254 255 335 334 264 265 345 344
+203 5 0 0 8 255 256 336 335 265 266 346 345
+204 5 0 0 8 256 257 337 336 266 267 347 346
+205 5 0 0 8 257 258 338 337 267 268 348 347
+206 5 0 0 8 258 259 339 338 268 269 349 348
+207 5 0 0 8 259 260 340 339 269 270 350 349
+208 5 0 0 8 261 262 342 341 271 272 352 351
+209 5 0 0 8 262 263 343 342 272 273 353 352
+210 5 0 0 8 263 264 344 343 273 274 354 353
+211 5 0 0 8 264 265 345 344 274 275 355 354
+212 5 0 0 8 265 266 346 345 275 276 356 355
+213 5 0 0 8 266 267 347 346 276 277 357 356
+214 5 0 0 8 267 268 348 347 277 278 358 357
+215 5 0 0 8 268 269 349 348 278 279 359 358
+216 5 0 0 8 269 270 350 349 279 280 360 359
+217 5 0 0 8 271 272 352 351 281 282 362 361
+218 5 0 0 8 272 273 353 352 282 283 363 362
+219 5 0 0 8 273 274 354 353 283 284 364 363
+220 5 0 0 8 274 275 355 354 284 285 365 364
+221 5 0 0 8 275 276 356 355 285 286 366 365
+222 5 0 0 8 276 277 357 356 286 287 367 366
+223 5 0 0 8 277 278 358 357 287 288 368 367
+224 5 0 0 8 278 279 359 358 288 289 369 368
+225 5 0 0 8 279 280 360 359 289 290 370 369
+226 5 0 0 8 281 282 362 361 291 292 372 371
+227 5 0 0 8 282 283 363 362 292 293 373 372
+228 5 0 0 8 283 284 364 363 293 294 374 373
+229 5 0 0 8 284 285 365 364 294 295 375 374
+230 5 0 0 8 285 286 366 365 295 296 376 375
+231 5 0 0 8 286 287 367 366 296 297 377 376
+232 5 0 0 8 287 288 368 367 297 298 378 377
+233 5 0 0 8 288 289 369 368 298 299 379 378
+234 5 0 0 8 289 290 370 369 299 300 380 379
+235 5 0 0 8 291 292 372 371 301 302 382 381
+236 5 0 0 8 292 293 373 372 302 303 383 382
+237 5 0 0 8 293 294 374 373 303 304 384 383
+238 5 0 0 8 294 295 375 374 304 305 385 384
+239 5 0 0 8 295 296 376 375 305 306 386 385
+240 5 0 0 8 296 297 377 376 306 307 387 386
+241 5 0 0 8 297 298 378 377 307 308 388 387
+242 5 0 0 8 298 299 379 378 308 309 389 388
+243 5 0 0 8 299 300 380 379 309 310 390 389
+244 5 0 0 8 301 302 382 381 311 312 392 391
+245 5 0 0 8 302 303 383 382 312 313 393 392
+246 5 0 0 8 303 304 384 383 313 314 394 393
+247 5 0 0 8 304 305 385 384 314 315 395 394
+248 5 0 0 8 305 306 386 385 315 316 396 395
+249 5 0 0 8 306 307 387 386 316 317 397 396
+250 5 0 0 8 307 308 388 387 317 318 398 397
+251 5 0 0 8 308 309 389 388 318 319 399 398
+252 5 0 0 8 309 310 390 389 319 320 400 399
+253 5 0 0 8 321 322 402 401 331 332 412 411
+254 5 0 0 8 322 323 403 402 332 333 413 412
+255 5 0 0 8 323 324 404 403 333 334 414 413
+256 5 0 0 8 324 325 405 404 334 335 415 414
+257 5 0 0 8 325 326 406 405 335 336 416 415
+258 5 0 0 8 326 327 407 406 336 337 417 416
+259 5 0 0 8 327 328 408 407 337 338 418 417
+260 5 0 0 8 328 329 409 408 338 339 419 418
+261 5 0 0 8 329 330 410 409 339 340 420 419
+262 5 0 0 8 331 332 412 411 341 342 422 421
+263 5 0 0 8 332 333 413 412 342 343 423 422
+264 5 0 0 8 333 334 414 413 343 344 424 423
+265 5 0 0 8 334 335 415 414 344 345 425 424
+266 5 0 0 8 335 336 416 415 345 346 426 425
+267 5 0 0 8 336 337 417 416 346 347 427 426
+268 5 0 0 8 337 338 418 417 347 348 428 427
+269 5 0 0 8 338 339 419 418 348 349 429 428
+270 5 0 0 8 339 340 420 419 349 350 430 429
+271 5 0 0 8 341 342 422 421 351 352 432 431
+272 5 0 0 8 342 343 423 422 352 353 433 432
+273 5 0 0 8 343 344 424 423 353 354 434 433
+274 5 0 0 8 344 345 425 424 354 355 435 434
+275 5 0 0 8 345 346 426 425 355 356 436 435
+276 5 0 0 8 346 347 427 426 356 357 437 436
+277 5 0 0 8 347 348 428 427 357 358 438 437
+278 5 0 0 8 348 349 429 428 358 359 439 438
+279 5 0 0 8 349 350 430 429 359 360 440 439
+280 5 0 0 8 351 352 432 431 361 362 442 441
+281 5 0 0 8 352 353 433 432 362 363 443 442
+282 5 0 0 8 353 354 434 433 363 364 444 443
+283 5 0 0 8 354 355 435 434 364 365 445 444
+284 5 0 0 8 355 356 436 435 365 366 446 445
+285 5 0 0 8 356 357 437 436 366 367 447 446
+286 5 0 0 8 357 358 438 437 367 368 448 447
+287 5 0 0 8 358 359 439 438 368 369 449 448
+288 5 0 0 8 359 360 440 439 369 370 450 449
+289 5 0 0 8 361 362 442 441 371 372 452 451
+290 5 0 0 8 362 363 443 442 372 373 453 452
+291 5 0 0 8 363 364 444 443 373 374 454 453
+292 5 0 0 8 364 365 445 444 374 375 455 454
+293 5 0 0 8 365 366 446 445 375 376 456 455
+294 5 0 0 8 366 367 447 446 376 377 457 456
+295 5 0 0 8 367 368 448 447 377 378 458 457
+296 5 0 0 8 368 369 449 448 378 379 459 458
+297 5 0 0 8 369 370 450 449 379 380 460 459
+298 5 0 0 8 371 372 452 451 381 382 462 461
+299 5 0 0 8 372 373 453 452 382 383 463 462
+300 5 0 0 8 373 374 454 453 383 384 464 463
+301 5 0 0 8 374 375 455 454 384 385 465 464
+302 5 0 0 8 375 376 456 455 385 386 466 465
+303 5 0 0 8 376 377 457 456 386 387 467 466
+304 5 0 0 8 377 378 458 457 387 388 468 467
+305 5 0 0 8 378 379 459 458 388 389 469 468
+306 5 0 0 8 379 380 460 459 389 390 470 469
+307 5 0 0 8 381 382 462 461 391 392 472 471
+308 5 0 0 8 382 383 463 462 392 393 473 472
+309 5 0 0 8 383 384 464 463 393 394 474 473
+310 5 0 0 8 384 385 465 464 394 395 475 474
+311 5 0 0 8 385 386 466 465 395 396 476 475
+312 5 0 0 8 386 387 467 466 396 397 477 476
+313 5 0 0 8 387 388 468 467 397 398 478 477
+314 5 0 0 8 388 389 469 468 398 399 479 478
+315 5 0 0 8 389 390 470 469 399 400 480 479
+$ENDELM
+DEAL::Generating Triangulation<1, 1> : general_cell(0; 1 : true)
+$NOD
+2
+1 0.00000 0 0
+2 1.00000 0 0
+$ENDNOD
+$ELM
+1
+1 1 0 0 2 1 2
+$ENDELM
+DEAL::Generating Triangulation<1, 2> : general_cell(0,0 ; 1,0 : true)
+$NOD
+2
+1 0.00000 0.00000 0
+2 1.00000 0.00000 0
+$ENDNOD
+$ELM
+1
+1 1 0 0 2 1 2
+$ENDELM
+DEAL::Generating Triangulation<1, 3> : general_cell(0,0,0; 1,0,0: true)
+$NOD
+2
+1 0.00000 0.00000 0.00000
+2 1.00000 0.00000 0.00000
+$ENDNOD
+$ELM
+1
+1 1 0 0 2 1 2
+$ENDELM
+DEAL::Generating Triangulation<2, 2> : general_cell(0,0; 1,0; 0,1; 1,1: true)
+$NOD
+4
+1 0.00000 0.00000 0
+2 1.00000 0.00000 0
+3 0.00000 1.00000 0
+4 1.00000 1.00000 0
+$ENDNOD
+$ELM
+1
+1 3 0 0 4 1 2 4 3
+$ENDELM
+DEAL::Generating Triangulation<2, 3> : general_cell(0,0,0; 1,0,0; 0,1,0; 1,1,0: true)
+$NOD
+4
+1 0.00000 0.00000 0.00000
+2 1.00000 0.00000 0.00000
+3 0.00000 1.00000 0.00000
+4 1.00000 1.00000 0.00000
+$ENDNOD
+$ELM
+1
+1 3 0 0 4 1 2 4 3
+$ENDELM
+DEAL::Generating Triangulation<3, 3> : general_cell(0,0,0; 1,0,0; 0,1,0; 1,1,0; 0,0,1; 1,0,1; 0,1,1; 1,1,1: true)
+$NOD
+8
+1 0.00000 0.00000 0.00000
+2 1.00000 0.00000 0.00000
+3 0.00000 1.00000 0.00000
+4 1.00000 1.00000 0.00000
+5 0.00000 0.00000 1.00000
+6 1.00000 0.00000 1.00000
+7 0.00000 1.00000 1.00000
+8 1.00000 1.00000 1.00000
+$ENDNOD
+$ELM
+1
+1 5 0 0 8 1 2 6 5 3 4 8 7
+$ENDELM
+DEAL::Generating Triangulation<1, 1> : hyper_cube(0: 1: true)
+$NOD
+2
+1 0.00000 0 0
+2 1.00000 0 0
+$ENDNOD
+$ELM
+1
+1 1 0 0 2 1 2
+$ENDELM
+DEAL::Generating Triangulation<1, 2> : hyper_cube(0: 1: true)
+$NOD
+2
+1 0.00000 0.00000 0
+2 1.00000 0.00000 0
+$ENDNOD
+$ELM
+1
+1 1 0 0 2 1 2
+$ENDELM
+DEAL::Generating Triangulation<1, 3> : hyper_cube(0: 1: true)
+$NOD
+2
+1 0.00000 0.00000 0.00000
+2 1.00000 0.00000 0.00000
+$ENDNOD
+$ELM
+1
+1 1 0 0 2 1 2
+$ENDELM
+DEAL::Generating Triangulation<2, 2> : hyper_cube(0: 1: true)
+$NOD
+4
+1 0.00000 0.00000 0
+2 1.00000 0.00000 0
+3 0.00000 1.00000 0
+4 1.00000 1.00000 0
+$ENDNOD
+$ELM
+1
+1 3 0 0 4 1 2 4 3
+$ENDELM
+DEAL::Generating Triangulation<2, 3> : hyper_cube(0: 1: true)
+$NOD
+4
+1 0.00000 0.00000 0.00000
+2 1.00000 0.00000 0.00000
+3 0.00000 1.00000 0.00000
+4 1.00000 1.00000 0.00000
+$ENDNOD
+$ELM
+1
+1 3 0 0 4 1 2 4 3
+$ENDELM
+DEAL::Generating Triangulation<3, 3> : hyper_cube(0: 1: true)
+$NOD
+8
+1 0.00000 0.00000 0.00000
+2 1.00000 0.00000 0.00000
+3 0.00000 1.00000 0.00000
+4 1.00000 1.00000 0.00000
+5 0.00000 0.00000 1.00000
+6 1.00000 0.00000 1.00000
+7 0.00000 1.00000 1.00000
+8 1.00000 1.00000 1.00000
+$ENDNOD
+$ELM
+1
+1 5 0 0 8 1 2 6 5 3 4 8 7
+$ENDELM
+DEAL::Generating Triangulation<2, 2> : hyper_ball(0,0: 1: false)
+$NOD
+8
+1 -0.707107 -0.707107 0
+2 0.707107 -0.707107 0
+3 -0.292893 -0.292893 0
+4 0.292893 -0.292893 0
+5 -0.292893 0.292893 0
+6 0.292893 0.292893 0
+7 -0.707107 0.707107 0
+8 0.707107 0.707107 0
+$ENDNOD
+$ELM
+5
+1 3 0 0 4 1 2 4 3
+2 3 0 0 4 1 3 5 7
+3 3 0 0 4 3 4 6 5
+4 3 0 0 4 2 8 6 4
+5 3 0 0 4 7 5 6 8
+$ENDELM
+DEAL::Generating Triangulation<2, 2> : simplex(0,0; 1,0; 0,1)
+$NOD
+7
+1 0.00000 0.00000 0
+2 1.00000 0.00000 0
+3 0.00000 1.00000 0
+4 0.500000 0.00000 0
+5 0.500000 0.500000 0
+6 0.00000 0.500000 0
+7 0.333333 0.333333 0
+$ENDNOD
+$ELM
+3
+1 3 0 0 4 1 4 7 6
+2 3 0 0 4 4 2 5 7
+3 3 0 0 4 6 7 5 3
+$ENDELM
+DEAL::Generating Triangulation<3, 3> : simplex(0,0,0; 1,0,0; 0,1,0; 0,0,1)
+$NOD
+15
+1 0.00000 0.00000 0.00000
+2 1.00000 0.00000 0.00000
+3 0.00000 1.00000 0.00000
+4 0.00000 0.00000 1.00000
+5 0.500000 0.00000 0.00000
+6 0.500000 0.500000 0.00000
+7 0.00000 0.500000 0.500000
+8 0.00000 0.00000 0.500000
+9 0.00000 0.500000 0.00000
+10 0.500000 0.00000 0.500000
+11 0.333333 0.333333 0.00000
+12 0.333333 0.333333 0.333333
+13 0.00000 0.333333 0.333333
+14 0.333333 0.00000 0.333333
+15 0.250000 0.250000 0.250000
+$ENDNOD
+$ELM
+4
+1 5 0 0 8 1 5 14 8 9 11 15 13
+2 5 0 0 8 5 2 10 14 11 6 12 15
+3 5 0 0 8 9 11 15 13 3 6 12 7
+4 5 0 0 8 8 14 10 4 13 15 12 7
+$ENDELM