const unsigned int /*n_slices*/,
const bool colorize)
{
- Assert((pad_bottom > 0 || pad_top > 0 || pad_left > 0 || pad_right > 0),
- ExcMessage("At least one padding parameter has to be non-zero."));
+ const bool with_padding =
+ pad_bottom > 0 || pad_top > 0 || pad_left > 0 || pad_right > 0;
+
Assert(pad_bottom >= 0., ExcMessage("Negative bottom padding."));
Assert(pad_top >= 0., ExcMessage("Negative top padding."));
Assert(pad_left >= 0., ExcMessage("Negative left padding."));
};
// start by setting up the cylinder triangulation
- Triangulation<2> cylinder_tria;
+ Triangulation<2> cylinder_tria_maybe;
+ Triangulation<2> &cylinder_tria = with_padding ? cylinder_tria_maybe : tria;
GridGenerator::hyper_cube_with_cylindrical_hole(cylinder_tria,
inner_radius,
outer_radius,
for (const auto &cell : cylinder_tria.active_cell_iterators())
cell->set_manifold_id(tfi_manifold_id);
- // hyper_cube_with_cylindrical_hole will have 2 cells along
- // each face, so he element size is outer_radius
-
- auto add_sizes = [](std::vector<double> &step_sizes,
- const double padding,
- const double h) -> void {
- // use std::round instead of std::ceil to improve aspect ratio
- // in case padding is only slightly larger than h.
- const auto rounded = static_cast<unsigned int>(std::round(padding / h));
- // in case padding is much smaller than h, make sure we
- // have at least 1 element
- const unsigned int num = (padding > 0. && rounded == 0) ? 1 : rounded;
- for (unsigned int i = 0; i < num; ++i)
- step_sizes.push_back(padding / num);
- };
-
- std::vector<std::vector<double>> step_sizes(2);
- // x-coord
- // left:
- add_sizes(step_sizes[0], pad_left, outer_radius);
- // center
- step_sizes[0].push_back(outer_radius);
- step_sizes[0].push_back(outer_radius);
- // right
- add_sizes(step_sizes[0], pad_right, outer_radius);
- // y-coord
- // bottom
- add_sizes(step_sizes[1], pad_bottom, outer_radius);
- // center
- step_sizes[1].push_back(outer_radius);
- step_sizes[1].push_back(outer_radius);
- // top
- add_sizes(step_sizes[1], pad_top, outer_radius);
-
- // now create bulk
- Triangulation<2> bulk_tria;
- const Point<2> bl(-outer_radius - pad_left, -outer_radius - pad_bottom);
- const Point<2> tr(outer_radius + pad_right, outer_radius + pad_top);
- GridGenerator::subdivided_hyper_rectangle(
- bulk_tria, step_sizes, bl, tr, colorize);
-
- // now remove cells reserved from the cylindrical hole
- std::set<Triangulation<2>::active_cell_iterator> cells_to_remove;
- for (const auto &cell : bulk_tria.active_cell_iterators())
- if (internal::point_in_2d_box(cell->center(), center, outer_radius))
- cells_to_remove.insert(cell);
-
- Triangulation<2> tria_without_cylinder;
- GridGenerator::create_triangulation_with_removed_cells(
- bulk_tria, cells_to_remove, tria_without_cylinder);
-
- const double tolerance = std::min(min_line_length(tria_without_cylinder),
- min_line_length(cylinder_tria)) /
- 2.0;
+ const Point<2> bl(-outer_radius - pad_left, -outer_radius - pad_bottom);
+ const Point<2> tr(outer_radius + pad_right, outer_radius + pad_top);
+ if (with_padding)
+ {
+ // hyper_cube_with_cylindrical_hole will have 2 cells along
+ // each face, so he element size is outer_radius
+
+ auto add_sizes = [](std::vector<double> &step_sizes,
+ const double padding,
+ const double h) -> void {
+ // use std::round instead of std::ceil to improve aspect ratio
+ // in case padding is only slightly larger than h.
+ const auto rounded =
+ static_cast<unsigned int>(std::round(padding / h));
+ // in case padding is much smaller than h, make sure we
+ // have at least 1 element
+ const unsigned int num = (padding > 0. && rounded == 0) ? 1 : rounded;
+ for (unsigned int i = 0; i < num; ++i)
+ step_sizes.push_back(padding / num);
+ };
- GridGenerator::merge_triangulations(tria_without_cylinder,
- cylinder_tria,
- tria,
- tolerance);
+ std::vector<std::vector<double>> step_sizes(2);
+ // x-coord
+ // left:
+ add_sizes(step_sizes[0], pad_left, outer_radius);
+ // center
+ step_sizes[0].push_back(outer_radius);
+ step_sizes[0].push_back(outer_radius);
+ // right
+ add_sizes(step_sizes[0], pad_right, outer_radius);
+ // y-coord
+ // bottom
+ add_sizes(step_sizes[1], pad_bottom, outer_radius);
+ // center
+ step_sizes[1].push_back(outer_radius);
+ step_sizes[1].push_back(outer_radius);
+ // top
+ add_sizes(step_sizes[1], pad_top, outer_radius);
+
+ // now create bulk
+ Triangulation<2> bulk_tria;
+ GridGenerator::subdivided_hyper_rectangle(
+ bulk_tria, step_sizes, bl, tr, colorize);
+
+ // now remove cells reserved from the cylindrical hole
+ std::set<Triangulation<2>::active_cell_iterator> cells_to_remove;
+ for (const auto &cell : bulk_tria.active_cell_iterators())
+ if (internal::point_in_2d_box(cell->center(), center, outer_radius))
+ cells_to_remove.insert(cell);
+
+ Triangulation<2> tria_without_cylinder;
+ GridGenerator::create_triangulation_with_removed_cells(
+ bulk_tria, cells_to_remove, tria_without_cylinder);
+
+ const double tolerance =
+ std::min(min_line_length(tria_without_cylinder),
+ min_line_length(cylinder_tria)) /
+ 2.0;
+
+ GridGenerator::merge_triangulations(tria_without_cylinder,
+ cylinder_tria,
+ tria,
+ tolerance);
+ }
// now set manifold ids:
for (const auto &cell : tria.active_cell_iterators())
--- /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.
+//
+// ---------------------------------------------------------------------
+
+
+
+// Test GridGenerator::plate_with_a_hole() with zero padding
+
+#include <deal.II/dofs/dof_handler.h>
+
+#include <deal.II/fe/fe_q.h>
+
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/tria.h>
+
+#include <deal.II/numerics/data_out.h>
+
+#include "../tests.h"
+
+template <int dim>
+void
+test()
+{
+ Triangulation<dim> triangulation;
+ GridGenerator::plate_with_a_hole(
+ triangulation, 0.4, 1., 0, 0, 0, 0, Point<dim>(), 0, 1, 1., 2, true);
+
+ triangulation.refine_global(1);
+
+ using Tuple = std::tuple<Point<dim>, types::boundary_id, types::manifold_id>;
+ std::vector<Tuple> boundary_faces;
+
+ for (const auto &cell : triangulation.active_cell_iterators())
+ for (unsigned int face_n = 0; face_n < GeometryInfo<dim>::faces_per_cell;
+ ++face_n)
+ if (cell->face(face_n)->at_boundary())
+ boundary_faces.push_back(
+ std::make_tuple(cell->face(face_n)->center(),
+ cell->face(face_n)->boundary_id(),
+ cell->face(face_n)->manifold_id()));
+
+ // see dof_tools.cc internal::ComparisonHelper
+ std::sort(begin(boundary_faces),
+ end(boundary_faces),
+ [](const Tuple &t1, const Tuple &t2) {
+ const auto &b1 = std::get<1>(t1);
+ const auto &b2 = std::get<1>(t2);
+ if (b1 != b2)
+ return b1 < b2;
+
+ const auto &p1 = std::get<0>(t1);
+ const auto &p2 = std::get<0>(t2);
+
+ for (unsigned int d = 0; d < dim; ++d)
+ if (std::abs(p1[d] - p2[d]) > 1e-8)
+ return p1[d] < p2[d];
+
+ return std::get<2>(t1) < std::get<2>(t2);
+ });
+
+ for (const auto el : boundary_faces)
+ deallog << "center: " << std::get<0>(el)
+ << " boundary id: " << std::get<1>(el)
+ << " manifold id: " << std::get<2>(el) << std::endl;
+
+ deallog << std::endl << std::endl;
+ Vector<float> manifold_id(triangulation.n_active_cells());
+ unsigned int index = 0;
+ for (const auto &cell : triangulation.active_cell_iterators())
+ {
+ deallog << "center: " << cell->center()
+ << " manifold id: " << cell->manifold_id() << std::endl;
+ manifold_id[index] = cell->manifold_id();
+ index++;
+ }
+
+ // write in vtk for visual inspection
+ if (false)
+ {
+ DoFHandler<dim> dof_handler(triangulation);
+ FE_Q<dim> fe(1);
+ dof_handler.distribute_dofs(fe);
+
+ DataOut<dim> data_out;
+
+ data_out.attach_dof_handler(dof_handler);
+ data_out.add_data_vector(manifold_id, "manifold_id");
+ data_out.build_patches();
+
+ const std::string filename =
+ "output_" + Utilities::int_to_string(dim) + ".vtu";
+ std::ofstream output(filename.c_str());
+ data_out.write_vtu(output);
+ }
+}
+
+
+int
+main()
+{
+ initlog();
+
+ deallog.push("2d");
+ test<2>();
+ deallog.pop();
+
+ deallog.push("3d");
+ test<3>();
+ deallog.pop();
+}
--- /dev/null
+
+DEAL:2d::center: -1.00000 -0.750000 boundary id: 0 manifold id: 1
+DEAL:2d::center: -1.00000 -0.250000 boundary id: 0 manifold id: 1
+DEAL:2d::center: -1.00000 0.250000 boundary id: 0 manifold id: 1
+DEAL:2d::center: -1.00000 0.750000 boundary id: 0 manifold id: 1
+DEAL:2d::center: 1.00000 -0.750000 boundary id: 1 manifold id: 1
+DEAL:2d::center: 1.00000 -0.250000 boundary id: 1 manifold id: 1
+DEAL:2d::center: 1.00000 0.250000 boundary id: 1 manifold id: 1
+DEAL:2d::center: 1.00000 0.750000 boundary id: 1 manifold id: 1
+DEAL:2d::center: -0.750000 -1.00000 boundary id: 2 manifold id: 1
+DEAL:2d::center: -0.250000 -1.00000 boundary id: 2 manifold id: 1
+DEAL:2d::center: 0.250000 -1.00000 boundary id: 2 manifold id: 1
+DEAL:2d::center: 0.750000 -1.00000 boundary id: 2 manifold id: 1
+DEAL:2d::center: -0.750000 1.00000 boundary id: 3 manifold id: 1
+DEAL:2d::center: -0.250000 1.00000 boundary id: 3 manifold id: 1
+DEAL:2d::center: 0.250000 1.00000 boundary id: 3 manifold id: 1
+DEAL:2d::center: 0.750000 1.00000 boundary id: 3 manifold id: 1
+DEAL:2d::center: -0.384776 -0.0765367 boundary id: 4 manifold id: 0
+DEAL:2d::center: -0.384776 0.0765367 boundary id: 4 manifold id: 0
+DEAL:2d::center: -0.326197 -0.217958 boundary id: 4 manifold id: 0
+DEAL:2d::center: -0.326197 0.217958 boundary id: 4 manifold id: 0
+DEAL:2d::center: -0.217958 -0.326197 boundary id: 4 manifold id: 0
+DEAL:2d::center: -0.217958 0.326197 boundary id: 4 manifold id: 0
+DEAL:2d::center: -0.0765367 -0.384776 boundary id: 4 manifold id: 0
+DEAL:2d::center: -0.0765367 0.384776 boundary id: 4 manifold id: 0
+DEAL:2d::center: 0.0765367 -0.384776 boundary id: 4 manifold id: 0
+DEAL:2d::center: 0.0765367 0.384776 boundary id: 4 manifold id: 0
+DEAL:2d::center: 0.217958 -0.326197 boundary id: 4 manifold id: 0
+DEAL:2d::center: 0.217958 0.326197 boundary id: 4 manifold id: 0
+DEAL:2d::center: 0.326197 -0.217958 boundary id: 4 manifold id: 0
+DEAL:2d::center: 0.326197 0.217958 boundary id: 4 manifold id: 0
+DEAL:2d::center: 0.384776 -0.0765367 boundary id: 4 manifold id: 0
+DEAL:2d::center: 0.384776 0.0765367 boundary id: 4 manifold id: 0
+DEAL:2d::
+DEAL:2d::
+DEAL:2d::center: 0.846194 0.206634 manifold id: 1
+DEAL:2d::center: 0.831549 0.616990 manifold id: 1
+DEAL:2d::center: 0.538582 0.119903 manifold id: 1
+DEAL:2d::center: 0.494648 0.350969 manifold id: 1
+DEAL:2d::center: 0.616990 0.831549 manifold id: 1
+DEAL:2d::center: 0.206634 0.846194 manifold id: 1
+DEAL:2d::center: 0.350969 0.494648 manifold id: 1
+DEAL:2d::center: 0.119903 0.538582 manifold id: 1
+DEAL:2d::center: -0.206634 0.846194 manifold id: 1
+DEAL:2d::center: -0.616990 0.831549 manifold id: 1
+DEAL:2d::center: -0.119903 0.538582 manifold id: 1
+DEAL:2d::center: -0.350969 0.494648 manifold id: 1
+DEAL:2d::center: -0.831549 0.616990 manifold id: 1
+DEAL:2d::center: -0.846194 0.206634 manifold id: 1
+DEAL:2d::center: -0.494648 0.350969 manifold id: 1
+DEAL:2d::center: -0.538582 0.119903 manifold id: 1
+DEAL:2d::center: -0.846194 -0.206634 manifold id: 1
+DEAL:2d::center: -0.831549 -0.616990 manifold id: 1
+DEAL:2d::center: -0.538582 -0.119903 manifold id: 1
+DEAL:2d::center: -0.494648 -0.350969 manifold id: 1
+DEAL:2d::center: -0.616990 -0.831549 manifold id: 1
+DEAL:2d::center: -0.206634 -0.846194 manifold id: 1
+DEAL:2d::center: -0.350969 -0.494648 manifold id: 1
+DEAL:2d::center: -0.119903 -0.538582 manifold id: 1
+DEAL:2d::center: 0.206634 -0.846194 manifold id: 1
+DEAL:2d::center: 0.616990 -0.831549 manifold id: 1
+DEAL:2d::center: 0.119903 -0.538582 manifold id: 1
+DEAL:2d::center: 0.350969 -0.494648 manifold id: 1
+DEAL:2d::center: 0.831549 -0.616990 manifold id: 1
+DEAL:2d::center: 0.846194 -0.206634 manifold id: 1
+DEAL:2d::center: 0.494648 -0.350969 manifold id: 1
+DEAL:2d::center: 0.538582 -0.119903 manifold id: 1
+DEAL:3d::center: -1.00000 -0.750000 -0.250000 boundary id: 0 manifold id: 1
+DEAL:3d::center: -1.00000 -0.750000 0.250000 boundary id: 0 manifold id: 1
+DEAL:3d::center: -1.00000 -0.250000 -0.250000 boundary id: 0 manifold id: 1
+DEAL:3d::center: -1.00000 -0.250000 0.250000 boundary id: 0 manifold id: 1
+DEAL:3d::center: -1.00000 0.250000 -0.250000 boundary id: 0 manifold id: 1
+DEAL:3d::center: -1.00000 0.250000 0.250000 boundary id: 0 manifold id: 1
+DEAL:3d::center: -1.00000 0.750000 -0.250000 boundary id: 0 manifold id: 1
+DEAL:3d::center: -1.00000 0.750000 0.250000 boundary id: 0 manifold id: 1
+DEAL:3d::center: 1.00000 -0.750000 -0.250000 boundary id: 1 manifold id: 1
+DEAL:3d::center: 1.00000 -0.750000 0.250000 boundary id: 1 manifold id: 1
+DEAL:3d::center: 1.00000 -0.250000 -0.250000 boundary id: 1 manifold id: 1
+DEAL:3d::center: 1.00000 -0.250000 0.250000 boundary id: 1 manifold id: 1
+DEAL:3d::center: 1.00000 0.250000 -0.250000 boundary id: 1 manifold id: 1
+DEAL:3d::center: 1.00000 0.250000 0.250000 boundary id: 1 manifold id: 1
+DEAL:3d::center: 1.00000 0.750000 -0.250000 boundary id: 1 manifold id: 1
+DEAL:3d::center: 1.00000 0.750000 0.250000 boundary id: 1 manifold id: 1
+DEAL:3d::center: -0.750000 -1.00000 -0.250000 boundary id: 2 manifold id: 1
+DEAL:3d::center: -0.750000 -1.00000 0.250000 boundary id: 2 manifold id: 1
+DEAL:3d::center: -0.250000 -1.00000 -0.250000 boundary id: 2 manifold id: 1
+DEAL:3d::center: -0.250000 -1.00000 0.250000 boundary id: 2 manifold id: 1
+DEAL:3d::center: 0.250000 -1.00000 -0.250000 boundary id: 2 manifold id: 1
+DEAL:3d::center: 0.250000 -1.00000 0.250000 boundary id: 2 manifold id: 1
+DEAL:3d::center: 0.750000 -1.00000 -0.250000 boundary id: 2 manifold id: 1
+DEAL:3d::center: 0.750000 -1.00000 0.250000 boundary id: 2 manifold id: 1
+DEAL:3d::center: -0.750000 1.00000 -0.250000 boundary id: 3 manifold id: 1
+DEAL:3d::center: -0.750000 1.00000 0.250000 boundary id: 3 manifold id: 1
+DEAL:3d::center: -0.250000 1.00000 -0.250000 boundary id: 3 manifold id: 1
+DEAL:3d::center: -0.250000 1.00000 0.250000 boundary id: 3 manifold id: 1
+DEAL:3d::center: 0.250000 1.00000 -0.250000 boundary id: 3 manifold id: 1
+DEAL:3d::center: 0.250000 1.00000 0.250000 boundary id: 3 manifold id: 1
+DEAL:3d::center: 0.750000 1.00000 -0.250000 boundary id: 3 manifold id: 1
+DEAL:3d::center: 0.750000 1.00000 0.250000 boundary id: 3 manifold id: 1
+DEAL:3d::center: -0.384776 -0.0765367 -0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: -0.384776 -0.0765367 0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: -0.384776 0.0765367 -0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: -0.384776 0.0765367 0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: -0.326197 -0.217958 -0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: -0.326197 -0.217958 0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: -0.326197 0.217958 -0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: -0.326197 0.217958 0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: -0.217958 -0.326197 -0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: -0.217958 -0.326197 0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: -0.217958 0.326197 -0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: -0.217958 0.326197 0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: -0.0765367 -0.384776 -0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: -0.0765367 -0.384776 0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: -0.0765367 0.384776 -0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: -0.0765367 0.384776 0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: 0.0765367 -0.384776 -0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: 0.0765367 -0.384776 0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: 0.0765367 0.384776 -0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: 0.0765367 0.384776 0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: 0.217958 -0.326197 -0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: 0.217958 -0.326197 0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: 0.217958 0.326197 -0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: 0.217958 0.326197 0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: 0.326197 -0.217958 -0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: 0.326197 -0.217958 0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: 0.326197 0.217958 -0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: 0.326197 0.217958 0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: 0.384776 -0.0765367 -0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: 0.384776 -0.0765367 0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: 0.384776 0.0765367 -0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: 0.384776 0.0765367 0.250000 boundary id: 4 manifold id: 0
+DEAL:3d::center: -0.846194 -0.206634 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: -0.846194 0.206634 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: -0.831549 -0.616990 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: -0.831549 0.616990 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: -0.616990 -0.831549 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: -0.616990 0.831549 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: -0.538582 -0.119903 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: -0.538582 0.119903 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: -0.494648 -0.350969 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: -0.494648 0.350969 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: -0.350969 -0.494648 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: -0.350969 0.494648 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: -0.206634 -0.846194 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: -0.206634 0.846194 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: -0.119903 -0.538582 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: -0.119903 0.538582 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: 0.119903 -0.538582 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: 0.119903 0.538582 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: 0.206634 -0.846194 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: 0.206634 0.846194 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: 0.350969 -0.494648 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: 0.350969 0.494648 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: 0.494648 -0.350969 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: 0.494648 0.350969 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: 0.538582 -0.119903 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: 0.538582 0.119903 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: 0.616990 -0.831549 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: 0.616990 0.831549 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: 0.831549 -0.616990 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: 0.831549 0.616990 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: 0.846194 -0.206634 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: 0.846194 0.206634 -0.500000 boundary id: 5 manifold id: 1
+DEAL:3d::center: -0.846194 -0.206634 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: -0.846194 0.206634 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: -0.831549 -0.616990 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: -0.831549 0.616990 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: -0.616990 -0.831549 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: -0.616990 0.831549 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: -0.538582 -0.119903 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: -0.538582 0.119903 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: -0.494648 -0.350969 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: -0.494648 0.350969 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: -0.350969 -0.494648 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: -0.350969 0.494648 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: -0.206634 -0.846194 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: -0.206634 0.846194 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: -0.119903 -0.538582 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: -0.119903 0.538582 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: 0.119903 -0.538582 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: 0.119903 0.538582 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: 0.206634 -0.846194 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: 0.206634 0.846194 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: 0.350969 -0.494648 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: 0.350969 0.494648 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: 0.494648 -0.350969 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: 0.494648 0.350969 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: 0.538582 -0.119903 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: 0.538582 0.119903 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: 0.616990 -0.831549 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: 0.616990 0.831549 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: 0.831549 -0.616990 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: 0.831549 0.616990 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: 0.846194 -0.206634 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::center: 0.846194 0.206634 0.500000 boundary id: 6 manifold id: 1
+DEAL:3d::
+DEAL:3d::
+DEAL:3d::center: 0.846194 0.206634 -0.250000 manifold id: 1
+DEAL:3d::center: 0.831549 0.616990 -0.250000 manifold id: 1
+DEAL:3d::center: 0.538582 0.119903 -0.250000 manifold id: 1
+DEAL:3d::center: 0.494648 0.350969 -0.250000 manifold id: 1
+DEAL:3d::center: 0.846194 0.206634 0.250000 manifold id: 1
+DEAL:3d::center: 0.831549 0.616990 0.250000 manifold id: 1
+DEAL:3d::center: 0.538582 0.119903 0.250000 manifold id: 1
+DEAL:3d::center: 0.494648 0.350969 0.250000 manifold id: 1
+DEAL:3d::center: 0.616990 0.831549 -0.250000 manifold id: 1
+DEAL:3d::center: 0.206634 0.846194 -0.250000 manifold id: 1
+DEAL:3d::center: 0.350969 0.494648 -0.250000 manifold id: 1
+DEAL:3d::center: 0.119903 0.538582 -0.250000 manifold id: 1
+DEAL:3d::center: 0.616990 0.831549 0.250000 manifold id: 1
+DEAL:3d::center: 0.206634 0.846194 0.250000 manifold id: 1
+DEAL:3d::center: 0.350969 0.494648 0.250000 manifold id: 1
+DEAL:3d::center: 0.119903 0.538582 0.250000 manifold id: 1
+DEAL:3d::center: -0.206634 0.846194 -0.250000 manifold id: 1
+DEAL:3d::center: -0.616990 0.831549 -0.250000 manifold id: 1
+DEAL:3d::center: -0.119903 0.538582 -0.250000 manifold id: 1
+DEAL:3d::center: -0.350969 0.494648 -0.250000 manifold id: 1
+DEAL:3d::center: -0.206634 0.846194 0.250000 manifold id: 1
+DEAL:3d::center: -0.616990 0.831549 0.250000 manifold id: 1
+DEAL:3d::center: -0.119903 0.538582 0.250000 manifold id: 1
+DEAL:3d::center: -0.350969 0.494648 0.250000 manifold id: 1
+DEAL:3d::center: -0.831549 0.616990 -0.250000 manifold id: 1
+DEAL:3d::center: -0.846194 0.206634 -0.250000 manifold id: 1
+DEAL:3d::center: -0.494648 0.350969 -0.250000 manifold id: 1
+DEAL:3d::center: -0.538582 0.119903 -0.250000 manifold id: 1
+DEAL:3d::center: -0.831549 0.616990 0.250000 manifold id: 1
+DEAL:3d::center: -0.846194 0.206634 0.250000 manifold id: 1
+DEAL:3d::center: -0.494648 0.350969 0.250000 manifold id: 1
+DEAL:3d::center: -0.538582 0.119903 0.250000 manifold id: 1
+DEAL:3d::center: -0.846194 -0.206634 -0.250000 manifold id: 1
+DEAL:3d::center: -0.831549 -0.616990 -0.250000 manifold id: 1
+DEAL:3d::center: -0.538582 -0.119903 -0.250000 manifold id: 1
+DEAL:3d::center: -0.494648 -0.350969 -0.250000 manifold id: 1
+DEAL:3d::center: -0.846194 -0.206634 0.250000 manifold id: 1
+DEAL:3d::center: -0.831549 -0.616990 0.250000 manifold id: 1
+DEAL:3d::center: -0.538582 -0.119903 0.250000 manifold id: 1
+DEAL:3d::center: -0.494648 -0.350969 0.250000 manifold id: 1
+DEAL:3d::center: -0.616990 -0.831549 -0.250000 manifold id: 1
+DEAL:3d::center: -0.206634 -0.846194 -0.250000 manifold id: 1
+DEAL:3d::center: -0.350969 -0.494648 -0.250000 manifold id: 1
+DEAL:3d::center: -0.119903 -0.538582 -0.250000 manifold id: 1
+DEAL:3d::center: -0.616990 -0.831549 0.250000 manifold id: 1
+DEAL:3d::center: -0.206634 -0.846194 0.250000 manifold id: 1
+DEAL:3d::center: -0.350969 -0.494648 0.250000 manifold id: 1
+DEAL:3d::center: -0.119903 -0.538582 0.250000 manifold id: 1
+DEAL:3d::center: 0.206634 -0.846194 -0.250000 manifold id: 1
+DEAL:3d::center: 0.616990 -0.831549 -0.250000 manifold id: 1
+DEAL:3d::center: 0.119903 -0.538582 -0.250000 manifold id: 1
+DEAL:3d::center: 0.350969 -0.494648 -0.250000 manifold id: 1
+DEAL:3d::center: 0.206634 -0.846194 0.250000 manifold id: 1
+DEAL:3d::center: 0.616990 -0.831549 0.250000 manifold id: 1
+DEAL:3d::center: 0.119903 -0.538582 0.250000 manifold id: 1
+DEAL:3d::center: 0.350969 -0.494648 0.250000 manifold id: 1
+DEAL:3d::center: 0.831549 -0.616990 -0.250000 manifold id: 1
+DEAL:3d::center: 0.846194 -0.206634 -0.250000 manifold id: 1
+DEAL:3d::center: 0.494648 -0.350969 -0.250000 manifold id: 1
+DEAL:3d::center: 0.538582 -0.119903 -0.250000 manifold id: 1
+DEAL:3d::center: 0.831549 -0.616990 0.250000 manifold id: 1
+DEAL:3d::center: 0.846194 -0.206634 0.250000 manifold id: 1
+DEAL:3d::center: 0.494648 -0.350969 0.250000 manifold id: 1
+DEAL:3d::center: 0.538582 -0.119903 0.250000 manifold id: 1