deal.II version GIT relicensing-2287-g6548a49e0a 2024-12-20 18:30:00+00:00
\(\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\}}\)
Loading...
Searching...
No Matches
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/point.h>
#include <deal.II/base/table.h>
#include <deal.II/grid/reference_cell.h>
#include <deal.II/grid/tria.h>
#include <deal.II/cgal/additional_data.h>
#include <array>
#include <limits>
#include <map>

Go to the source code of this file.

Classes

struct  GridGenerator::Airfoil::AdditionalData
 

Namespaces

namespace  GridGenerator
 
namespace  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 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::reference_cell (Triangulation< dim, spacedim > &tria, const ReferenceCell &reference_cell)
 
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.
 
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.
 
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.)
 
void GridGenerator::non_standard_orientation_mesh (Triangulation< 2 > &tria, const unsigned int n_rotate_middle_square)
 
void GridGenerator::non_standard_orientation_mesh (Triangulation< 3 > &tria, const bool face_orientation, const bool face_flip, const bool face_rotation, const bool manipulate_left_cube)
 
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::subdivided_cylinder (Triangulation< dim > &tria, const unsigned int x_subdivisions, 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::pipe_junction (Triangulation< dim, spacedim > &tria, const std::vector< std::pair< Point< spacedim >, double > > &openings, const std::pair< Point< spacedim >, double > &bifurcation, const double aspect_ratio=0.5)
 
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.
 
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, int spacedim>
void GridGenerator::hyper_shell (Triangulation< dim, spacedim > &tria, const Point< spacedim > &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, const bool colorize=false)
 
template<int dim, int spacedim>
void GridGenerator::torus (Triangulation< dim, spacedim > &tria, const double centerline_radius, const double inner_radius, const unsigned int n_cells_toroidal=6, const double phi=2.0 *numbers::PI)
 
template<int dim, int spacedim>
void GridGenerator::hyper_cube_with_cylindrical_hole (Triangulation< dim, spacedim > &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)
 
template<int dim>
void GridGenerator::implicit_function (Triangulation< dim, 3 > &tria, const Function< 3 > &implicit_function, const CGALWrappers::AdditionalData< dim > &data=CGALWrappers::AdditionalData< dim >{}, const Point< 3 > &interior_point=Point< 3 >(), const double &outer_ball_radius=1.0)
 
void GridGenerator::surface_mesh_to_volumetric_mesh (const Triangulation< 2, 3 > &surface_tria, Triangulation< 3 > &vol_tria, const CGALWrappers::AdditionalData< 3 > &data=CGALWrappers::AdditionalData< 3 >{})
 
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, const bool copy_boundary_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, const bool copy_boundary_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.
 
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)
 
template<int dim, int spacedim>
void GridGenerator::convert_hypercube_to_simplex_mesh (const Triangulation< dim, spacedim > &in_tria, Triangulation< dim, spacedim > &out_tria)
 
template<int dim, int spacedim>
void GridGenerator::alfeld_split_of_simplex_mesh (const Triangulation< dim, spacedim > &in_tria, Triangulation< dim, spacedim > &out_tria)
 
template<int dim, int spacedim>
void GridGenerator::subdivided_hyper_rectangle_with_simplices (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, int spacedim>
void GridGenerator::subdivided_hyper_cube_with_simplices (Triangulation< dim, spacedim > &tria, const unsigned int repetitions, const double p1=0.0, const double p2=1.0, const bool colorize=false)
 
Creating lower-dimensional meshes

Created from parts of higher-dimensional meshes.

template<template< int, int > class MeshType, int dim, int spacedim>
return_type 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 ()