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\}}\)
Classes | Namespaces | Functions
grid_generator.h File Reference
#include <deal.II/base/config.h>
#include <deal.II/base/exceptions.h>
#include <deal.II/base/function.h>
#include <deal.II/base/parameter_handler.h>
#include <deal.II/base/point.h>
#include <deal.II/base/table.h>
#include <deal.II/grid/tria.h>
#include <array>
#include <map>

Go to the source code of this file.

Classes

struct  GridGenerator::Airfoil::AdditionalData
 

Namespaces

 GridGenerator
 
 GridGenerator::Airfoil
 

Functions

template<int dim>
void GridGenerator::Airfoil::create_triangulation (Triangulation< dim, dim > &tria, const AdditionalData &additional_data=AdditionalData())
 
template<int dim>
void GridGenerator::Airfoil::create_triangulation (Triangulation< dim, dim > &tria, std::vector< GridTools::PeriodicFacePair< typename Triangulation< dim, dim >::cell_iterator >> &periodic_faces, const AdditionalData &additional_data=AdditionalData())
 
Creating meshes from other meshes
template<int dim, int spacedim>
void GridGenerator::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)
 
template<int dim, int spacedim>
void GridGenerator::merge_triangulations (const std::vector< const Triangulation< dim, spacedim > * > &triangulations, Triangulation< dim, spacedim > &result, const double duplicated_vertex_tolerance=1.0e-12, const bool copy_manifold_ids=false)
 
template<int dim, int spacedim = dim>
void GridGenerator::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. More...
 
template<int dim, int spacedim>
void GridGenerator::create_union_triangulation (const Triangulation< dim, spacedim > &triangulation_1, const Triangulation< dim, spacedim > &triangulation_2, Triangulation< dim, spacedim > &result)
 
template<int dim, int spacedim>
void GridGenerator::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)
 
void GridGenerator::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={})
 
void GridGenerator::extrude_triangulation (const Triangulation< 2, 2 > &input, const unsigned int n_slices, const double height, Triangulation< 2, 2 > &result, const bool copy_manifold_ids=false, const std::vector< types::manifold_id > &manifold_priorities={})
 
void GridGenerator::extrude_triangulation (const Triangulation< 2, 2 > &input, const std::vector< double > &slice_coordinates, Triangulation< 3, 3 > &result, const bool copy_manifold_ids=false, const std::vector< types::manifold_id > &manifold_priorities={})
 
void GridGenerator::extrude_triangulation (const Triangulation< 2, 2 > &input, const std::vector< double > &slice_coordinates, Triangulation< 2, 2 > &result, const bool copy_manifold_ids=false, const std::vector< types::manifold_id > &manifold_priorities={})
 
template<int dim, int spacedim1, int spacedim2>
void GridGenerator::flatten_triangulation (const Triangulation< dim, spacedim1 > &in_tria, Triangulation< dim, spacedim2 > &out_tria)
 
Creating lower-dimensional meshes

Created from parts of higher-dimensional meshes.

template<template< int, int > class MeshType, int dim, int spacedim>
std::map< typename MeshType< dim - 1, spacedim >::cell_iterator, typename MeshType< dim, spacedim >::face_iterator > GridGenerator::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 >())
 
Exceptions
static ::ExceptionBaseGridGenerator::ExcInvalidRadii ()
 
static ::ExceptionBaseGridGenerator::ExcInvalidRepetitions (int arg1)
 
static ::ExceptionBaseGridGenerator::ExcInvalidRepetitionsDimension (int arg1)
 
static ::ExceptionBaseGridGenerator::ExcInvalidInputOrientation ()
 
Creating meshes from other meshes
template<int dim, int spacedim>
void GridGenerator::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)
 
template<int dim, int spacedim>
void GridGenerator::merge_triangulations (const std::vector< const Triangulation< dim, spacedim > * > &triangulations, Triangulation< dim, spacedim > &result, const double duplicated_vertex_tolerance=1.0e-12, const bool copy_manifold_ids=false)
 
template<int dim, int spacedim = dim>
void GridGenerator::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. More...
 
template<int dim, int spacedim>
void GridGenerator::create_union_triangulation (const Triangulation< dim, spacedim > &triangulation_1, const Triangulation< dim, spacedim > &triangulation_2, Triangulation< dim, spacedim > &result)
 
template<int dim, int spacedim>
void GridGenerator::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)
 
void GridGenerator::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={})
 
void GridGenerator::extrude_triangulation (const Triangulation< 2, 2 > &input, const unsigned int n_slices, const double height, Triangulation< 2, 2 > &result, const bool copy_manifold_ids=false, const std::vector< types::manifold_id > &manifold_priorities={})
 
void GridGenerator::extrude_triangulation (const Triangulation< 2, 2 > &input, const std::vector< double > &slice_coordinates, Triangulation< 3, 3 > &result, const bool copy_manifold_ids=false, const std::vector< types::manifold_id > &manifold_priorities={})
 
void GridGenerator::extrude_triangulation (const Triangulation< 2, 2 > &input, const std::vector< double > &slice_coordinates, Triangulation< 2, 2 > &result, const bool copy_manifold_ids=false, const std::vector< types::manifold_id > &manifold_priorities={})
 
template<int dim, int spacedim1, int spacedim2>
void GridGenerator::flatten_triangulation (const Triangulation< dim, spacedim1 > &in_tria, Triangulation< dim, spacedim2 > &out_tria)
 
Creating lower-dimensional meshes

Created from parts of higher-dimensional meshes.

template<template< int, int > class MeshType, int dim, int spacedim>
std::map< typename MeshType< dim - 1, spacedim >::cell_iterator, typename MeshType< dim, spacedim >::face_iterator > GridGenerator::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 >())
 
Exceptions
static ::ExceptionBaseGridGenerator::ExcInvalidRadii ()
 
static ::ExceptionBaseGridGenerator::ExcInvalidRepetitions (int arg1)
 
static ::ExceptionBaseGridGenerator::ExcInvalidRepetitionsDimension (int arg1)
 
static ::ExceptionBaseGridGenerator::ExcInvalidInputOrientation ()
 

Creating meshes for basic geometries

template<int dim, int spacedim>
void GridGenerator::hyper_cube (Triangulation< dim, spacedim > &tria, const double left=0., const double right=1., const bool colorize=false)
 
template<int dim>
void GridGenerator::simplex (Triangulation< dim, dim > &tria, const std::vector< Point< dim >> &vertices)
 
template<int dim, int spacedim>
void GridGenerator::subdivided_hyper_cube (Triangulation< dim, spacedim > &tria, const unsigned int repetitions, const double left=0., const double right=1., const bool colorize=false)
 
template<int dim, int spacedim>
void GridGenerator::hyper_rectangle (Triangulation< dim, spacedim > &tria, const Point< dim > &p1, const Point< dim > &p2, const bool colorize=false)
 
template<int dim, int spacedim>
void GridGenerator::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)
 
template<int dim>
void GridGenerator::subdivided_hyper_rectangle (Triangulation< dim > &tria, const std::vector< std::vector< double >> &step_sizes, const Point< dim > &p_1, const Point< dim > &p_2, const bool colorize=false)
 
template<int dim>
void GridGenerator::subdivided_hyper_rectangle (Triangulation< dim > &tria, const std::vector< std::vector< double >> &spacing, const Point< dim > &p, const Table< dim, types::material_id > &material_id, const bool colorize=false)
 
template<int dim, int spacedim>
void GridGenerator::cheese (Triangulation< dim, spacedim > &tria, const std::vector< unsigned int > &holes)
 Rectangular domain with rectangular pattern of holes. More...
 
template<int dim>
void GridGenerator::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. More...
 
template<int dim>
void GridGenerator::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)
 
template<int dim, int spacedim>
void GridGenerator::general_cell (Triangulation< dim, spacedim > &tria, const std::vector< Point< spacedim >> &vertices, const bool colorize=false)
 
template<int dim>
void GridGenerator::parallelogram (Triangulation< dim > &tria, const Point< dim >(&corners)[dim], const bool colorize=false)
 
template<int dim>
void GridGenerator::parallelepiped (Triangulation< dim > &tria, const Point< dim >(&corners)[dim], const bool colorize=false)
 
template<int dim>
void GridGenerator::subdivided_parallelepiped (Triangulation< dim > &tria, const unsigned int n_subdivisions, const Point< dim >(&corners)[dim], const bool colorize=false)
 
template<int dim>
void GridGenerator::subdivided_parallelepiped (Triangulation< dim > &tria, const unsigned int(&n_subdivisions)[dim], const Point< dim >(&corners)[dim], const bool colorize=false)
 
template<int dim, int spacedim>
void GridGenerator::subdivided_parallelepiped (Triangulation< dim, spacedim > &tria, const Point< spacedim > &origin, const std::array< Tensor< 1, spacedim >, dim > &edges, const std::vector< unsigned int > &subdivisions={}, const bool colorize=false)
 
template<int dim>
void GridGenerator::enclosed_hyper_cube (Triangulation< dim > &tria, const double left=0., const double right=1., const double thickness=1., const bool colorize=false)
 
template<int dim>
void GridGenerator::hyper_ball (Triangulation< dim > &tria, const Point< dim > &center=Point< dim >(), const double radius=1., const bool attach_spherical_manifold_on_boundary_cells=false)
 
template<int dim>
void GridGenerator::hyper_ball_balanced (Triangulation< dim > &tria, const Point< dim > &center=Point< dim >(), const double radius=1.)
 
template<int spacedim>
void GridGenerator::hyper_sphere (Triangulation< spacedim - 1, spacedim > &tria, const Point< spacedim > &center=Point< spacedim >(), const double radius=1.)
 
template<int dim>
void GridGenerator::quarter_hyper_ball (Triangulation< dim > &tria, const Point< dim > &center=Point< dim >(), const double radius=1.)
 
template<int dim>
void GridGenerator::half_hyper_ball (Triangulation< dim > &tria, const Point< dim > &center=Point< dim >(), const double radius=1.)
 
template<int dim>
void GridGenerator::cylinder (Triangulation< dim > &tria, const double radius=1., const double half_length=1.)
 
template<int dim>
void GridGenerator::truncated_cone (Triangulation< dim > &tria, const double radius_0=1.0, const double radius_1=0.5, const double half_length=1.0)
 
template<int dim, int spacedim>
void GridGenerator::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. More...
 
template<int dim>
void GridGenerator::hyper_L (Triangulation< dim > &tria, const double left=-1., const double right=1., const bool colorize=false)
 
template<int dim, int spacedim>
void GridGenerator::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)
 
template<int dim>
void GridGenerator::hyper_cube_slit (Triangulation< dim > &tria, const double left=0., const double right=1., const bool colorize=false)
 
template<int dim>
void GridGenerator::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)
 
template<int dim>
void GridGenerator::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)
 
template<int dim>
void GridGenerator::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)
 
template<int dim>
void GridGenerator::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)
 
template<int dim>
void GridGenerator::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)
 
template<int dim, int spacedim>
void GridGenerator::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)
 
template<int dim>
void GridGenerator::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)
 
template<int dim>
void GridGenerator::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)
 
void GridGenerator::moebius (Triangulation< 3, 3 > &tria, const unsigned int n_cells, const unsigned int n_rotations, const double R, const double r)
 
template<int dim, int spacedim>
void GridGenerator::generate_from_name_and_arguments (Triangulation< dim, spacedim > &tria, const std::string &grid_generator_function_name, const std::string &grid_generator_function_arguments)