Reference documentation for deal.II version 9.2.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
grid_generator.h
Go to the documentation of this file.
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 1999 - 2020 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE.md at
12 // the top level directory of deal.II.
13 //
14 // ---------------------------------------------------------------------
15 
16 #ifndef dealii_grid_generator_h
17 #define dealii_grid_generator_h
18 
19 
20 #include <deal.II/base/config.h>
21 
23 #include <deal.II/base/function.h>
25 #include <deal.II/base/point.h>
26 #include <deal.II/base/table.h>
27 
28 #include <deal.II/grid/tria.h>
29 
30 #include <array>
31 #include <map>
32 
34 
57 namespace GridGenerator
58 {
62 
92  template <int dim, int spacedim>
93  void
95  const double left = 0.,
96  const double right = 1.,
97  const bool colorize = false);
98 
128  template <int dim>
129  void
131  const std::vector<Point<dim>> &vertices);
132 
161  template <int dim, int spacedim>
162  void
164  const unsigned int repetitions,
165  const double left = 0.,
166  const double right = 1.,
167  const bool colorize = false);
168 
204  template <int dim, int spacedim>
205  void
207  const Point<dim> & p1,
208  const Point<dim> & p2,
209  const bool colorize = false);
210 
261  template <int dim, int spacedim>
262  void
264  const std::vector<unsigned int> &repetitions,
265  const Point<dim> & p1,
266  const Point<dim> & p2,
267  const bool colorize = false);
268 
284  template <int dim>
285  void
287  const std::vector<std::vector<double>> &step_sizes,
288  const Point<dim> & p_1,
289  const Point<dim> & p_2,
290  const bool colorize = false);
291 
302  template <int dim>
303  void
305  const std::vector<std::vector<double>> &spacing,
306  const Point<dim> & p,
308  const bool colorize = false);
309 
335  template <int dim, int spacedim>
336  void
338  const std::vector<unsigned int> &holes);
339 
385  template <int dim>
386  void
388  const double inner_radius = 0.4,
389  const double outer_radius = 1.,
390  const double pad_bottom = 2.,
391  const double pad_top = 2.,
392  const double pad_left = 1.,
393  const double pad_right = 1.,
394  const Point<dim> center = Point<dim>(),
395  const types::manifold_id polar_manifold_id = 0,
396  const types::manifold_id tfi_manifold_id = 1,
397  const double L = 1.,
398  const unsigned int n_slices = 2,
399  const bool colorize = false);
400 
487  template <int dim>
488  void
490  const double shell_region_width = 0.03,
491  const unsigned int n_shells = 2,
492  const double skewness = 2.0,
493  const bool colorize = false);
494 
517  template <int dim, int spacedim>
518  void
520  const std::vector<Point<spacedim>> &vertices,
521  const bool colorize = false);
522 
539  template <int dim>
540  void
542  const Point<dim> (&corners)[dim],
543  const bool colorize = false);
544 
560  template <int dim>
561  void
563  const Point<dim> (&corners)[dim],
564  const bool colorize = false);
565 
577  template <int dim>
578  void
580  const unsigned int n_subdivisions,
581  const Point<dim> (&corners)[dim],
582  const bool colorize = false);
583 
592  template <int dim>
593  void
595 #ifndef _MSC_VER
596  const unsigned int (&n_subdivisions)[dim],
597 #else
598  const unsigned int *n_subdivisions,
599 #endif
600  const Point<dim> (&corners)[dim],
601  const bool colorize = false);
602 
626  template <int dim, int spacedim>
627  void
629  const Point<spacedim> & origin,
630  const std::array<Tensor<1, spacedim>, dim> &edges,
631  const std::vector<unsigned int> &subdivisions = {},
632  const bool colorize = false);
633 
650  template <int dim>
651  void
653  const double left = 0.,
654  const double right = 1.,
655  const double thickness = 1.,
656  const bool colorize = false);
657 
734  template <int dim>
735  void
737  const Point<dim> & center = Point<dim>(),
738  const double radius = 1.,
739  const bool attach_spherical_manifold_on_boundary_cells = false);
740 
773  template <int dim>
774  void
776  const Point<dim> & center = Point<dim>(),
777  const double radius = 1.);
778 
805  template <int spacedim>
808  const double radius = 1.);
809 
843  template <int dim>
844  void
846  const Point<dim> & center = Point<dim>(),
847  const double radius = 1.);
848 
861  template <int dim>
862  void
864  const Point<dim> & center = Point<dim>(),
865  const double radius = 1.);
866 
890  template <int dim>
891  void
893  const double radius = 1.,
894  const double half_length = 1.);
895 
928  template <int dim>
929  void
931  const double radius_0 = 1.0,
932  const double radius_1 = 0.5,
933  const double half_length = 1.0);
934 
963  template <int dim, int spacedim>
964  void
966  const std::vector<unsigned int> &sizes,
967  const bool colorize_cells = false);
968 
1004  template <int dim>
1005  void
1007  const double left = -1.,
1008  const double right = 1.,
1009  const bool colorize = false);
1010 
1042  template <int dim, int spacedim>
1043  void
1045  const std::vector<unsigned int> &repetitions,
1046  const Point<dim> & bottom_left,
1047  const Point<dim> & top_right,
1048  const std::vector<int> & n_cells_to_remove);
1049 
1069  template <int dim>
1070  void
1072  const double left = 0.,
1073  const double right = 1.,
1074  const bool colorize = false);
1075 
1133  template <int dim>
1134  void
1136  const Point<dim> & center,
1137  const double inner_radius,
1138  const double outer_radius,
1139  const unsigned int n_cells = 0,
1140  bool colorize = false);
1141 
1175  template <int dim>
1176  void
1178  const Point<dim> & inner_center,
1179  const Point<dim> & outer_center,
1180  const double inner_radius,
1181  const double outer_radius,
1182  const unsigned int n_cells);
1183 
1213  template <int dim>
1214  void
1216  const Point<dim> & center,
1217  const double inner_radius,
1218  const double outer_radius,
1219  const unsigned int n_cells = 0,
1220  const bool colorize = false);
1221 
1222 
1248  template <int dim>
1249  void
1251  const Point<dim> & center,
1252  const double inner_radius,
1253  const double outer_radius,
1254  const unsigned int n_cells = 0,
1255  const bool colorize = false);
1256 
1284  template <int dim>
1285  void
1287  const double length,
1288  const double inner_radius,
1289  const double outer_radius,
1290  const unsigned int n_radial_cells = 0,
1291  const unsigned int n_axial_cells = 0);
1292 
1342  template <int dim, int spacedim>
1343  void
1345  const double R,
1346  const double r,
1347  const unsigned int n_cells_toroidal = 6,
1348  const double phi = 2.0 * numbers::PI);
1349 
1379  template <int dim>
1380  void
1382  const double inner_radius = .25,
1383  const double outer_radius = .5,
1384  const double L = .5,
1385  const unsigned int repetitions = 1,
1386  const bool colorize = false);
1387 
1459  template <int dim>
1460  void
1462  const Point<dim> & center,
1463  const double inner_radius = 0.125,
1464  const double outer_radius = 0.25,
1465  const unsigned int n_shells = 1,
1466  const double skewness = 0.1,
1467  const unsigned int n_cells_per_shell = 0,
1468  const bool colorize = false);
1469 
1483  void moebius(Triangulation<3, 3> &tria,
1484  const unsigned int n_cells,
1485  const unsigned int n_rotations,
1486  const double R,
1487  const double r);
1488 
1526  template <int dim, int spacedim>
1527  void
1530  const std::string & grid_generator_function_name,
1531  const std::string & grid_generator_function_arguments);
1533 
1537 
1599  template <int dim, int spacedim>
1600  void
1601  merge_triangulations(const Triangulation<dim, spacedim> &triangulation_1,
1602  const Triangulation<dim, spacedim> &triangulation_2,
1604  const double duplicated_vertex_tolerance = 1.0e-12,
1605  const bool copy_manifold_ids = false);
1606 
1621  template <int dim, int spacedim>
1622  void
1624  const std::vector<const Triangulation<dim, spacedim> *> &triangulations,
1626  const double duplicated_vertex_tolerance = 1.0e-12,
1627  const bool copy_manifold_ids = false);
1628 
1676  template <int dim, int spacedim = dim>
1677  void
1679  const std::vector<unsigned int> & extents,
1680  Triangulation<dim, spacedim> & result);
1681 
1718  template <int dim, int spacedim>
1719  void
1721  const Triangulation<dim, spacedim> &triangulation_1,
1722  const Triangulation<dim, spacedim> &triangulation_2,
1723  Triangulation<dim, spacedim> & result);
1724 
1760  template <int dim, int spacedim>
1761  void
1763  const Triangulation<dim, spacedim> &input_triangulation,
1765  & cells_to_remove,
1767 
1822  void
1824  const Triangulation<2, 2> & input,
1825  const unsigned int n_slices,
1826  const double height,
1827  Triangulation<3, 3> & result,
1828  const bool copy_manifold_ids = false,
1829  const std::vector<types::manifold_id> &manifold_priorities = {});
1830 
1837  void
1839  const Triangulation<2, 2> & input,
1840  const unsigned int n_slices,
1841  const double height,
1842  Triangulation<2, 2> & result,
1843  const bool copy_manifold_ids = false,
1844  const std::vector<types::manifold_id> &manifold_priorities = {});
1845 
1846 
1867  void
1869  const Triangulation<2, 2> & input,
1870  const std::vector<double> & slice_coordinates,
1871  Triangulation<3, 3> & result,
1872  const bool copy_manifold_ids = false,
1873  const std::vector<types::manifold_id> &manifold_priorities = {});
1874 
1881  void
1883  const Triangulation<2, 2> & input,
1884  const std::vector<double> & slice_coordinates,
1885  Triangulation<2, 2> & result,
1886  const bool copy_manifold_ids = false,
1887  const std::vector<types::manifold_id> &manifold_priorities = {});
1888 
1889 
1890 
1925  template <int dim, int spacedim1, int spacedim2>
1926  void
1928  Triangulation<dim, spacedim2> & out_tria);
1929 
1930 
1937  namespace Airfoil
1938  {
1944  {
1949  std::string airfoil_type;
1950 
1958  std::string naca_id;
1959 
1966 
1972 
1977  double height;
1978 
1982  double length_b2;
1983 
2000 
2007  double bias_factor;
2008 
2012  unsigned int refinements;
2013 
2017  unsigned int n_subdivision_x_0;
2018 
2022  unsigned int n_subdivision_x_1;
2023 
2027  unsigned int n_subdivision_x_2;
2028 
2032  unsigned int n_subdivision_y;
2033 
2046 
2050  AdditionalData();
2051 
2057  void
2059  };
2060 
2061 
2062 
2092  template <int dim>
2093  void
2096  const AdditionalData & additional_data = AdditionalData());
2097 
2098 
2099 
2112  template <int dim>
2113  void
2115  Triangulation<dim, dim> & tria,
2116  std::vector<GridTools::PeriodicFacePair<
2117  typename Triangulation<dim, dim>::cell_iterator>> &periodic_faces,
2118  const AdditionalData &additional_data = AdditionalData());
2119 
2120  } // namespace Airfoil
2121 
2123 
2129 
2131 #ifdef _MSC_VER
2132  // Microsoft's VC++ has a bug where it doesn't want to recognize that
2133  // an implementation (definition) of the extract_boundary_mesh function
2134  // matches a declaration. This can apparently only be avoided by
2135  // doing some contortion with the return type using the following
2136  // intermediate type. This is only used when using MS VC++ and uses
2137  // the direct way of doing it otherwise
2138  template <template <int, int> class MeshType, int dim, int spacedim>
2139  struct ExtractBoundaryMesh
2140  {
2141  using return_type =
2142  std::map<typename MeshType<dim - 1, spacedim>::cell_iterator,
2143  typename MeshType<dim, spacedim>::face_iterator>;
2144  };
2145 #endif
2146 
2222  template <template <int, int> class MeshType, int dim, int spacedim>
2223 #ifndef _MSC_VER
2224  std::map<typename MeshType<dim - 1, spacedim>::cell_iterator,
2225  typename MeshType<dim, spacedim>::face_iterator>
2226 #else
2227  typename ExtractBoundaryMesh<MeshType, dim, spacedim>::return_type
2228 #endif
2229  extract_boundary_mesh(const MeshType<dim, spacedim> & volume_mesh,
2230  MeshType<dim - 1, spacedim> & surface_mesh,
2231  const std::set<types::boundary_id> &boundary_ids =
2232  std::set<types::boundary_id>());
2233 
2235 
2236 
2240 
2242 
2251  int,
2252  << "The number of repetitions " << arg1 << " must be >=1.");
2257  int,
2258  << "The vector of repetitions must have " << arg1
2259  << " elements.");
2260 
2265  "The input to this function is oriented in a way that will"
2266  " cause all cells to have negative measure.");
2268 
2269 #ifndef DOXYGEN
2270  // These functions are only implemented with specializations; declare them
2271  // here
2272  template <>
2274  const double,
2275  const double,
2276  const double,
2277  const unsigned int,
2278  const bool);
2279 
2280  template <>
2282  const double,
2283  const double,
2284  const double,
2285  const unsigned int,
2286  const bool);
2287 
2288  template <>
2290  const double,
2291  const double,
2292  const double,
2293  const unsigned int,
2294  const bool);
2295 
2296  template <>
2298  const double,
2299  const unsigned int,
2300  const double,
2301  const bool);
2302 
2303  template <>
2305  const double,
2306  const unsigned int,
2307  const double,
2308  const bool);
2309 
2310  template <>
2312  const double,
2313  const unsigned int,
2314  const double,
2315  const bool);
2316 #endif
2317 } // namespace GridGenerator
2318 
2319 
2320 
2322 
2323 #endif
DeclExceptionMsg
#define DeclExceptionMsg(Exception, defaulttext)
Definition: exceptions.h:496
GridGenerator::Airfoil::AdditionalData::AdditionalData
AdditionalData()
GridGenerator::subdivided_parallelepiped
void subdivided_parallelepiped(Triangulation< dim > &tria, const unsigned int n_subdivisions, const Point< dim >(&corners)[dim], const bool colorize=false)
GridGenerator::hyper_cube_with_cylindrical_hole
void hyper_cube_with_cylindrical_hole(Triangulation< dim > &triangulation, const double inner_radius=.25, const double outer_radius=.5, const double L=.5, const unsigned int repetitions=1, const bool colorize=false)
GridGenerator::create_union_triangulation
void create_union_triangulation(const Triangulation< dim, spacedim > &triangulation_1, const Triangulation< dim, spacedim > &triangulation_2, Triangulation< dim, spacedim > &result)
GridGenerator::Airfoil::AdditionalData::height
double height
Definition: grid_generator.h:1977
GridGenerator::subdivided_hyper_cube
void subdivided_hyper_cube(Triangulation< dim, spacedim > &tria, const unsigned int repetitions, const double left=0., const double right=1., const bool colorize=false)
GridGenerator::Airfoil::AdditionalData::refinements
unsigned int refinements
Definition: grid_generator.h:2012
GridGenerator::Airfoil::AdditionalData::length_b2
double length_b2
Definition: grid_generator.h:1982
GridGenerator::flatten_triangulation
void flatten_triangulation(const Triangulation< dim, spacedim1 > &in_tria, Triangulation< dim, spacedim2 > &out_tria)
GridGenerator::simplex
void simplex(Triangulation< dim, dim > &tria, const std::vector< Point< dim >> &vertices)
Triangulation
Definition: tria.h:1109
tria.h
GridGenerator::enclosed_hyper_cube
void enclosed_hyper_cube(Triangulation< dim > &tria, const double left=0., const double right=1., const double thickness=1., const bool colorize=false)
GridGenerator::concentric_hyper_shells
void concentric_hyper_shells(Triangulation< dim > &triangulation, const Point< dim > &center, const double inner_radius=0.125, const double outer_radius=0.25, const unsigned int n_shells=1, const double skewness=0.1, const unsigned int n_cells_per_shell=0, const bool colorize=false)
GridGenerator::general_cell
void general_cell(Triangulation< dim, spacedim > &tria, const std::vector< Point< spacedim >> &vertices, const bool colorize=false)
GridGenerator::Airfoil::AdditionalData::naca_id
std::string naca_id
Definition: grid_generator.h:1958
GridGenerator::truncated_cone
void truncated_cone(Triangulation< dim > &tria, const double radius_0=1.0, const double radius_1=0.5, const double half_length=1.0)
LAPACKSupport::L
static const char L
Definition: lapack_support.h:171
GridGenerator::torus
void torus(Triangulation< dim, spacedim > &tria, const double R, const double r, const unsigned int n_cells_toroidal=6, const double phi=2.0 *numbers::PI)
GridGenerator::quarter_hyper_shell
void quarter_hyper_shell(Triangulation< dim > &tria, const Point< dim > &center, const double inner_radius, const double outer_radius, const unsigned int n_cells=0, const bool colorize=false)
GridGenerator::channel_with_cylinder
void channel_with_cylinder(Triangulation< dim > &tria, const double shell_region_width=0.03, const unsigned int n_shells=2, const double skewness=2.0, const bool colorize=false)
GridGenerator::hyper_rectangle
void hyper_rectangle(Triangulation< dim, spacedim > &tria, const Point< dim > &p1, const Point< dim > &p2, const bool colorize=false)
Physics::Elasticity::Kinematics::e
SymmetricTensor< 2, dim, Number > e(const Tensor< 2, dim, Number > &F)
GridGenerator::parallelogram
void parallelogram(Triangulation< dim > &tria, const Point< dim >(&corners)[dim], const bool colorize=false)
GridGenerator::half_hyper_ball
void half_hyper_ball(Triangulation< dim > &tria, const Point< dim > &center=Point< dim >(), const double radius=1.)
LinearAlgebra::CUDAWrappers::kernel::set
__global__ void set(Number *val, const Number s, const size_type N)
GridGenerator::moebius
void moebius(Triangulation< 3, 3 > &tria, const unsigned int n_cells, const unsigned int n_rotations, const double R, const double r)
Table
Definition: table.h:699
GridGenerator::extract_boundary_mesh
std::map< typename MeshType< dim - 1, spacedim >::cell_iterator, typename MeshType< dim, spacedim >::face_iterator > extract_boundary_mesh(const MeshType< dim, spacedim > &volume_mesh, MeshType< dim - 1, spacedim > &surface_mesh, const std::set< types::boundary_id > &boundary_ids=std::set< types::boundary_id >())
GridGenerator::Airfoil::create_triangulation
void create_triangulation(Triangulation< dim, dim > &tria, const AdditionalData &additional_data=AdditionalData())
GridGenerator::cylinder
void cylinder(Triangulation< dim > &tria, const double radius=1., const double half_length=1.)
GridGenerator::create_triangulation_with_removed_cells
void create_triangulation_with_removed_cells(const Triangulation< dim, spacedim > &input_triangulation, const std::set< typename Triangulation< dim, spacedim >::active_cell_iterator > &cells_to_remove, Triangulation< dim, spacedim > &result)
GridGenerator::Airfoil::AdditionalData::bias_factor
double bias_factor
Definition: grid_generator.h:2007
GridGenerator::hyper_L
void hyper_L(Triangulation< dim > &tria, const double left=-1., const double right=1., const bool colorize=false)
types::material_id
unsigned int material_id
Definition: types.h:152
GridGenerator::cylinder_shell
void cylinder_shell(Triangulation< dim > &tria, const double length, const double inner_radius, const double outer_radius, const unsigned int n_radial_cells=0, const unsigned int n_axial_cells=0)
GridGenerator::quarter_hyper_ball
void quarter_hyper_ball(Triangulation< dim > &tria, const Point< dim > &center=Point< dim >(), const double radius=1.)
GridGenerator::Airfoil::AdditionalData::incline_factor
double incline_factor
Definition: grid_generator.h:1999
GridGenerator::hyper_shell
void hyper_shell(Triangulation< dim > &tria, const Point< dim > &center, const double inner_radius, const double outer_radius, const unsigned int n_cells=0, bool colorize=false)
Tensor< 1, spacedim >
GridGenerator::ExcInvalidRepetitions
static ::ExceptionBase & ExcInvalidRepetitions(int arg1)
GridGenerator::hyper_sphere
void hyper_sphere(Triangulation< spacedim - 1, spacedim > &tria, const Point< spacedim > &center=Point< spacedim >(), const double radius=1.)
GridGenerator::hyper_cross
void hyper_cross(Triangulation< dim, spacedim > &tria, const std::vector< unsigned int > &sizes, const bool colorize_cells=false)
A center cell with stacks of cell protruding from each surface.
GridGenerator::subdivided_hyper_rectangle
void subdivided_hyper_rectangle(Triangulation< dim, spacedim > &tria, const std::vector< unsigned int > &repetitions, const Point< dim > &p1, const Point< dim > &p2, const bool colorize=false)
DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:358
GridGenerator::Airfoil::AdditionalData::airfoil_sampling_factor
unsigned int airfoil_sampling_factor
Definition: grid_generator.h:2045
GridGenerator::Airfoil::AdditionalData::n_subdivision_x_1
unsigned int n_subdivision_x_1
Definition: grid_generator.h:2022
GridGenerator::replicate_triangulation
void replicate_triangulation(const Triangulation< dim, spacedim > &input, const std::vector< unsigned int > &extents, Triangulation< dim, spacedim > &result)
Replicate a given triangulation in multiple coordinate axes.
GridGenerator::hyper_cube_slit
void hyper_cube_slit(Triangulation< dim > &tria, const double left=0., const double right=1., const bool colorize=false)
DeclException1
#define DeclException1(Exception1, type1, outsequence)
Definition: exceptions.h:518
parameter_handler.h
GridGenerator::Airfoil::AdditionalData::joukowski_center
Point< 2, double > joukowski_center
Definition: grid_generator.h:1965
GridGenerator::merge_triangulations
void merge_triangulations(const Triangulation< dim, spacedim > &triangulation_1, const Triangulation< dim, spacedim > &triangulation_2, Triangulation< dim, spacedim > &result, const double duplicated_vertex_tolerance=1.0e-12, const bool copy_manifold_ids=false)
GridGenerator::subdivided_hyper_L
void subdivided_hyper_L(Triangulation< dim, spacedim > &tria, const std::vector< unsigned int > &repetitions, const Point< dim > &bottom_left, const Point< dim > &top_right, const std::vector< int > &n_cells_to_remove)
GridGenerator::Airfoil::AdditionalData
Definition: grid_generator.h:1943
GridGenerator
Definition: grid_generator.h:57
GridGenerator::Airfoil::AdditionalData::n_subdivision_y
unsigned int n_subdivision_y
Definition: grid_generator.h:2032
exceptions.h
TriaActiveIterator
Definition: tria_iterator.h:759
GridGenerator::hyper_ball_balanced
void hyper_ball_balanced(Triangulation< dim > &tria, const Point< dim > &center=Point< dim >(), const double radius=1.)
GridGenerator::Airfoil::AdditionalData::n_subdivision_x_2
unsigned int n_subdivision_x_2
Definition: grid_generator.h:2027
GridGenerator::Airfoil::AdditionalData::n_subdivision_x_0
unsigned int n_subdivision_x_0
Definition: grid_generator.h:2017
unsigned int
GridGenerator::hyper_ball
void hyper_ball(Triangulation< dim > &tria, const Point< dim > &center=Point< dim >(), const double radius=1., const bool attach_spherical_manifold_on_boundary_cells=false)
vertices
Point< 3 > vertices[4]
Definition: data_out_base.cc:174
GridGenerator::Airfoil::AdditionalData::airfoil_length
double airfoil_length
Definition: grid_generator.h:1971
function.h
GridGenerator::extrude_triangulation
void extrude_triangulation(const Triangulation< 2, 2 > &input, const unsigned int n_slices, const double height, Triangulation< 3, 3 > &result, const bool copy_manifold_ids=false, const std::vector< types::manifold_id > &manifold_priorities={})
GridGenerator::eccentric_hyper_shell
void eccentric_hyper_shell(Triangulation< dim > &triangulation, const Point< dim > &inner_center, const Point< dim > &outer_center, const double inner_radius, const double outer_radius, const unsigned int n_cells)
GridGenerator::hyper_cube
void hyper_cube(Triangulation< dim, spacedim > &tria, const double left=0., const double right=1., const bool colorize=false)
GridGenerator::cheese
void cheese(Triangulation< dim, spacedim > &tria, const std::vector< unsigned int > &holes)
Rectangular domain with rectangular pattern of holes.
GridGenerator::Airfoil::AdditionalData::airfoil_type
std::string airfoil_type
Definition: grid_generator.h:1949
DeclException0
#define DeclException0(Exception0)
Definition: exceptions.h:473
GridTools::PeriodicFacePair
Definition: grid_tools.h:2463
GridGenerator::half_hyper_shell
void half_hyper_shell(Triangulation< dim > &tria, const Point< dim > &center, const double inner_radius, const double outer_radius, const unsigned int n_cells=0, const bool colorize=false)
Point< dim >
GridGenerator::ExcInvalidInputOrientation
static ::ExceptionBase & ExcInvalidInputOrientation()
GridGenerator::ExcInvalidRadii
static ::ExceptionBase & ExcInvalidRadii()
GridGenerator::plate_with_a_hole
void plate_with_a_hole(Triangulation< dim > &tria, const double inner_radius=0.4, const double outer_radius=1., const double pad_bottom=2., const double pad_top=2., const double pad_left=1., const double pad_right=1., const Point< dim > center=Point< dim >(), const types::manifold_id polar_manifold_id=0, const types::manifold_id tfi_manifold_id=1, const double L=1., const unsigned int n_slices=2, const bool colorize=false)
Rectangular plate with an (offset) cylindrical hole.
ParameterHandler
Definition: parameter_handler.h:845
config.h
colorize
bool colorize
Definition: grid_out.cc:4354
GridGenerator::generate_from_name_and_arguments
void generate_from_name_and_arguments(Triangulation< dim, spacedim > &tria, const std::string &grid_generator_function_name, const std::string &grid_generator_function_arguments)
Definition: grid_generator_from_name.cc:314
triangulation
const typename ::parallel::distributed::Triangulation< dim, spacedim > * triangulation
Definition: p4est_wrappers.cc:69
internal::TriangulationImplementation::n_cells
unsigned int n_cells(const internal::TriangulationImplementation::NumberCache< 1 > &c)
Definition: tria.cc:12618
DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:359
GridGenerator::parallelepiped
void parallelepiped(Triangulation< dim > &tria, const Point< dim >(&corners)[dim], const bool colorize=false)
numbers::PI
static constexpr double PI
Definition: numbers.h:237
center
Point< 3 > center
Definition: data_out_base.cc:169
table.h
GridGenerator::Airfoil::AdditionalData::add_parameters
void add_parameters(ParameterHandler &prm)
point.h
GridGenerator::ExcInvalidRepetitionsDimension
static ::ExceptionBase & ExcInvalidRepetitionsDimension(int arg1)