From 43a3614d7ff679b9351d8653dbdc92a23bd05605 Mon Sep 17 00:00:00 2001 From: heltai Date: Thu, 15 Feb 2007 19:16:08 +0000 Subject: [PATCH] Workaround for gmsh output mesh. New funcition: GridGenerator::hyper_cube_with_cylindrical_hole. git-svn-id: https://svn.dealii.org/trunk@14477 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/include/grid/grid_generator.h | 58 ++++- deal.II/deal.II/source/grid/grid_generator.cc | 206 ++++++++++++++++++ deal.II/deal.II/source/grid/grid_out.cc | 7 +- deal.II/doc/doxygen/images/cubes_hole.png | Bin 0 -> 58571 bytes deal.II/doc/news/changes.html | 19 ++ 5 files changed, 281 insertions(+), 9 deletions(-) create mode 100644 deal.II/doc/doxygen/images/cubes_hole.png diff --git a/deal.II/deal.II/include/grid/grid_generator.h b/deal.II/deal.II/include/grid/grid_generator.h index ad85d444af..eb70ac94b2 100644 --- a/deal.II/deal.II/include/grid/grid_generator.h +++ b/deal.II/deal.II/include/grid/grid_generator.h @@ -109,12 +109,24 @@ template class SparseMatrix; * modeled by a 2d half shell. * *
  • Slit domain: The slit domain is a variant of the hyper cube - * domain. In two spatial dimensions, it is a square into which a slit - * is sawed; if the initial square is though to be composed of four - * smaller squares, then two of them are not connected even though - * they are neighboring each other. Analogously, into the cube in - * three spatial dimensions, a half-plane is sawed, disconnecting four - * of the eight child-cubes from one of their neighbors. + * domain. In two spatial dimensions, it is a square into which a + * slit is sawed; if the initial square is though to be composed + * of four smaller squares, then two of them are not connected + * even though they are neighboring each other. Analogously, into + * the cube in three spatial dimensions, a half-plane is sawed, + * disconnecting four of the eight child-cubes from one of their + * neighbors. + * + *
  • Hyper cube with cylindrical hole: This domain is a square on + * the xy plane times the interval [0,L] with a cylindrical hole + * in the middle. The parameters that can be set are the internal + * radius, the external radius (inteded as the radius of the + * biggest enclosed cylinder), the depth of the structure (used + * only in three dimensions), and the number of repetitions along + * the z direction. + * + * @image html cubes_hole.png + * * * * Some of these functions receive a flag @p colorize. If this is @@ -661,7 +673,39 @@ class GridGenerator const double inner_radius, const double outer_radius, const unsigned int n_cells = 0); - + + /** + * This class produces a square + * on the @p xy-plane with a + * circular hole in the middle, + * times the interval @p [0.L] + * (only in 3d). It is + * implemented in 2d and 3d, and + * takes the following arguments: + * + * - @p inner_radius: size of the + * internal hole + * - @p outer_radius: size of the + * biggest enclosed cylinder + * - @p L: extension on the @p z-direction + * - @p repetitions: number of subdivisions + * along the @z-direction + * - @p colorize: wether to assign different + * boundary indicators to different faces. + * The colors are given in lexycografical + * ordering for the flat faces (0 to 3 in 2d, + * 0 to 5 in 3d) plus the curved hole + * (4 in 2d, and 6 in 3d). + * If @colorize is set to false, then flat faces + * get the number 0 and the hole gets number 1. + */ + template + static void hyper_cube_with_cylindrical_hole (Triangulation &triangulation, + const double inner_radius = .25, + const double outer_radius = .5, + const double L = .5, + const unsigned int repetition = 1, + const bool colorize = false); /** * Produce a ring of cells in 3D that is diff --git a/deal.II/deal.II/source/grid/grid_generator.cc b/deal.II/deal.II/source/grid/grid_generator.cc index 803b82ee8c..716c97b841 100644 --- a/deal.II/deal.II/source/grid/grid_generator.cc +++ b/deal.II/deal.II/source/grid/grid_generator.cc @@ -2245,6 +2245,207 @@ void GridGenerator::laplace_transformation (Triangulation &tria, #endif +#if deal_II_dimension == 1 + +template +void GridGenerator::hyper_cube_with_cylindrical_hole (Triangulation &, + const double, + const double, + const double, + const unsigned int, + bool){ + Assert(false, ExcNotImplemented()); +} + +#endif + + +#if deal_II_dimension == 2 + +template +void GridGenerator::hyper_cube_with_cylindrical_hole (Triangulation &triangulation, + const double inner_radius, + const double outer_radius, + const double, // width, + const unsigned int, // width_repetition, + bool colorize) +{ + Assert(inner_radius < outer_radius, + ExcMessage("outer_radius has to be bigger than inner_radius.")); + + Point center; + // We create an hyper_shell in two dimensions, and then we modify it. + GridGenerator::hyper_shell (triangulation, + center, inner_radius, outer_radius, + 8); + typename Triangulation::active_cell_iterator + cell = triangulation.begin_active(), + endc = triangulation.end(); + std::vector treated_vertices(triangulation.n_vertices(), false); + for(; cell != endc; ++cell) { + for(unsigned int f=0; f::faces_per_cell; ++f) + if(cell->face(f)->at_boundary()) { + for(unsigned int v=0; v < GeometryInfo::vertices_per_face; ++v) { + unsigned int vv = cell->face(f)->vertex_index(v); + if(treated_vertices[vv] == false) { + treated_vertices[vv] = true; + switch(vv) { + case 1: + cell->face(f)->vertex(v) = center+Point(outer_radius,outer_radius); + break; + case 3: + cell->face(f)->vertex(v) = center+Point(-outer_radius,outer_radius); + break; + case 5: + cell->face(f)->vertex(v) = center+Point(-outer_radius,-outer_radius); + break; + case 7: + cell->face(f)->vertex(v) = center+Point(outer_radius,-outer_radius); + default: + break; + } + } + } + } + } + double eps = 1e-3 * outer_radius; + cell = triangulation.begin_active(); + for(; cell != endc; ++cell) { + for(unsigned int f=0; f::faces_per_cell; ++f) + if(cell->face(f)->at_boundary()) { + double dx = cell->face(f)->center()(0) - center(0); + double dy = cell->face(f)->center()(1) - center(1); + if(colorize) { + if(std::abs(dx + outer_radius) < eps) + cell->face(f)->set_boundary_indicator(0); + else if(std::abs(dx - outer_radius) < eps) + cell->face(f)->set_boundary_indicator(1); + else if(std::abs(dy + outer_radius) < eps) + cell->face(f)->set_boundary_indicator(2); + else if(std::abs(dy - outer_radius) < eps) + cell->face(f)->set_boundary_indicator(3); + else + cell->face(f)->set_boundary_indicator(4); + } else { + double d = (cell->face(f)->center() - center).norm(); + if(d-inner_radius < 0) + cell->face(f)->set_boundary_indicator(1); + else + cell->face(f)->set_boundary_indicator(0); + } + } + } +} + +#endif + +#if deal_II_dimension == 3 + +template +void GridGenerator::hyper_cube_with_cylindrical_hole(Triangulation &triangulation, + const double inner_radius, + const double outer_radius, + const double L, + const unsigned int Nz, + bool colorize) +{ + Assert(inner_radius < outer_radius, + ExcMessage("outer_radius has to be bigger than inner_radius.")); + Assert(L > 0, + ExcMessage("Must give positive extension L")); + Assert(Nz >= 1, ExcLowerRange(1, Nz)); + + GridGenerator::cylinder_shell (triangulation, + L, inner_radius, outer_radius, + 8, + Nz); + + typename Triangulation::active_cell_iterator + cell = triangulation.begin_active(), + endc = triangulation.end(); + std::vector treated_vertices(triangulation.n_vertices(), false); + for(; cell != endc; ++cell) { + for(unsigned int f=0; f::faces_per_cell; ++f) + if(cell->face(f)->at_boundary()) { + for(unsigned int v=0; v < GeometryInfo::vertices_per_face; ++v) { + unsigned int vv = cell->face(f)->vertex_index(v); + if(treated_vertices[vv] == false) { + treated_vertices[vv] = true; + for(unsigned int i=0; i<=Nz; ++i) { + double d = ((double) i)*L/((double) Nz); + switch(vv-i*16) { + case 1: + cell->face(f)->vertex(v) = Point(outer_radius,outer_radius,d); + break; + case 3: + cell->face(f)->vertex(v) = Point(-outer_radius,outer_radius,d); + break; + case 5: + cell->face(f)->vertex(v) = Point(-outer_radius,-outer_radius,d); + break; + case 7: + cell->face(f)->vertex(v) = Point(outer_radius,-outer_radius,d); + break; + default: + break; + } + } + } + } + } + } + double eps = 1e-3 * outer_radius; + cell = triangulation.begin_active(); + for(; cell != endc; ++cell) { + for(unsigned int f=0; f::faces_per_cell; ++f) + if(cell->face(f)->at_boundary()) { + double dx = cell->face(f)->center()(0); + double dy = cell->face(f)->center()(1); + double dz = cell->face(f)->center()(2); + + if(colorize) { + if(std::abs(dx + outer_radius) < eps) + cell->face(f)->set_boundary_indicator(0); + + else if(std::abs(dx - outer_radius) < eps) + cell->face(f)->set_boundary_indicator(1); + + else if(std::abs(dy + outer_radius) < eps) + cell->face(f)->set_boundary_indicator(2); + + else if(std::abs(dy - outer_radius) < eps) + cell->face(f)->set_boundary_indicator(3); + + else if(std::abs(dz) < eps) + cell->face(f)->set_boundary_indicator(4); + + else if(std::abs(dz - L) < eps) + cell->face(f)->set_boundary_indicator(5); + + else { + cell->face(f)->set_boundary_indicator(6); + for(unsigned int l=0; l::lines_per_face; ++l) + cell->face(f)->line(l)->set_boundary_indicator(6); + } + + } else { + Point c = cell->face(f)->center(); + c(2) = 0; + double d = c.norm(); + if(d-inner_radius < 0) { + cell->face(f)->set_boundary_indicator(1); + for(unsigned int l=0; l::lines_per_face; ++l) + cell->face(f)->line(l)->set_boundary_indicator(1); + } else + cell->face(f)->set_boundary_indicator(0); + } + } + } +} + +#endif + + // explicit instantiations template void GridGenerator::hyper_cube ( @@ -2324,6 +2525,11 @@ GridGenerator::half_hyper_shell ( const Point&, double, double, unsigned int); +template void +GridGenerator::hyper_cube_with_cylindrical_hole ( + Triangulation &, + const double, const double, const double, const unsigned int, bool); + template void GridGenerator:: diff --git a/deal.II/deal.II/source/grid/grid_out.cc b/deal.II/deal.II/source/grid/grid_out.cc index 91c18d21a1..6dd51f4bf9 100644 --- a/deal.II/deal.II/source/grid/grid_out.cc +++ b/deal.II/deal.II/source/grid/grid_out.cc @@ -743,10 +743,13 @@ void GridOut::write_msh_faces (const Triangulation &tria, Assert (false, ExcNotImplemented()); }; out << static_cast(face->boundary_indicator()) - << " 1 " << GeometryInfo::vertices_per_face; + << " " + << static_cast(face->boundary_indicator()) + << " " << GeometryInfo::vertices_per_face; // note: vertex numbers are 1-base for (unsigned int vertex=0; vertex::vertices_per_face; ++vertex) - out << ' ' << face->vertex_index(GeometryInfo::ucd_to_deal[vertex])+1; + out << ' ' + << face->vertex_index(GeometryInfo::ucd_to_deal[vertex])+1; out << '\n'; ++index; diff --git a/deal.II/doc/doxygen/images/cubes_hole.png b/deal.II/doc/doxygen/images/cubes_hole.png new file mode 100644 index 0000000000000000000000000000000000000000..e0d8613bc21a9a9bb336c30094391251d023722a GIT binary patch literal 58571 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.II

      +
    1. New: Added function GridGenerator::hyper_cube_with_cylindrical_hole that produces + a square with a circular hole in the middle in 2d, and extrudes it along + the z-direction between 0 and L. +
      + (Luca Heltai 2007/02/15) +

      + +
    2. WorkAround: The class GridOut::write_msh produces a mesh which can be visualized in + the Gmsh reader. A bug in Gmsh prevented the boundary indicator to be + properly visualized. The boundary indicator was added to the material flag of the + faces (which is ignored when reading back the mesh) in order for the Gmsh reader + to be able to display the boundary indicator in a proper way. +
      + (Luca Heltai 2007/02/15) +

      + +
    3. Fixed: The function DoFTools::distribute_cell_to_dof_vector produced wrong results if the vector into which the result is to be -- 2.39.5