deal.II version GIT relicensing-2165-gc91f007519 2024-11-20 01:40: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_tools_topology.cc File Reference
#include <deal.II/base/bounding_box.h>
#include <deal.II/base/floating_point_comparator.h>
#include <deal.II/base/geometry_info.h>
#include <deal.II/base/utilities.h>
#include <deal.II/grid/grid_tools_geometry.h>
#include <deal.II/grid/grid_tools_topology.h>
#include <algorithm>
#include <map>
#include <set>
#include <vector>
#include "grid_tools_topology.inst"

Go to the source code of this file.

Classes

struct  GridTools::internal::CellDataComparator< structdim >
 
class  GridTools::internal::FaceDataHelper< dim >
 
class  GridTools::internal::FaceDataHelper< 1 >
 

Namespaces

namespace  GridTools
 
namespace  GridTools::internal
 

Functions

void GridTools::internal::append_face_data (const CellData< 1 > &face_data, SubCellData &subcell_data)
 
void GridTools::internal::append_face_data (const CellData< 2 > &face_data, SubCellData &subcell_data)
 
Querying or modifying topological information
template<int dim, int spacedim>
std::tuple< std::vector< Point< spacedim > >, std::vector< CellData< dim > >, SubCellDataGridTools::get_coarse_mesh_description (const Triangulation< dim, spacedim > &tria)
 
template<int dim, int spacedim>
void GridTools::delete_unused_vertices (std::vector< Point< spacedim > > &vertices, std::vector< CellData< dim > > &cells, SubCellData &subcelldata)
 
template<int dim, int spacedim>
void GridTools::delete_duplicated_vertices (std::vector< Point< spacedim > > &all_vertices, std::vector< CellData< dim > > &cells, SubCellData &subcelldata, std::vector< unsigned int > &considered_vertices, const double tol=1e-12)
 
template<int dim>
void GridTools::delete_duplicated_vertices (std::vector< Point< dim > > &vertices, const double tol=1e-12)
 
template<int dim, int spacedim>
std::size_t GridTools::invert_cells_with_negative_measure (const std::vector< Point< spacedim > > &all_vertices, std::vector< CellData< dim > > &cells)
 
template<int dim, int spacedim>
void GridTools::invert_all_negative_measure_cells (const std::vector< Point< spacedim > > &all_vertices, std::vector< CellData< dim > > &cells)
 
template<int dim>
void GridTools::consistently_order_cells (std::vector< CellData< dim > > &cells)
 
template<int dim, int spacedim>
std::map< unsigned int, Point< spacedim > > GridTools::get_all_vertices_at_boundary (const Triangulation< dim, spacedim > &tria)
 
template<int dim, int spacedim>
void GridTools::remove_hanging_nodes (Triangulation< dim, spacedim > &tria, const bool isotropic=false, const unsigned int max_iterations=100)
 
template<int dim, int spacedim>
void GridTools::remove_anisotropy (Triangulation< dim, spacedim > &tria, const double max_ratio=1.6180339887, const unsigned int max_iterations=5)
 
template<int dim, int spacedim>
std::map< unsigned int, Point< spacedim > > GridTools::extract_used_vertices (const Triangulation< dim, spacedim > &container, const Mapping< dim, spacedim > &mapping=(ReferenceCells::get_hypercube< dim >() .template get_default_linear_mapping< dim, spacedim >()))
 
template<int dim, int spacedim>
std::vector< std::set< typename Triangulation< dim, spacedim >::active_cell_iterator > > GridTools::vertex_to_cell_map (const Triangulation< dim, spacedim > &triangulation)
 
template<int dim, int spacedim>
void GridTools::get_face_connectivity_of_cells (const Triangulation< dim, spacedim > &triangulation, DynamicSparsityPattern &connectivity)
 
template<int dim, int spacedim>
void GridTools::get_vertex_connectivity_of_cells (const Triangulation< dim, spacedim > &triangulation, DynamicSparsityPattern &connectivity)
 
template<int dim, int spacedim>
void GridTools::get_vertex_connectivity_of_cells_on_level (const Triangulation< dim, spacedim > &triangulation, const unsigned int level, DynamicSparsityPattern &connectivity)
 

Variable Documentation

◆ v0

const unsigned int v0
private

The global indices of the vertices that define the edge.

Definition at line 654 of file grid_tools_topology.cc.

◆ v1

const unsigned int v1
private

Definition at line 654 of file grid_tools_topology.cc.

◆ starter_edges

const unsigned int starter_edges[dim]
static

An array that contains the indices of dim edges that can serve as (arbitrarily chosen) starting points for the dim sets of parallel edges within each cell.

Definition at line 718 of file grid_tools_topology.cc.

◆ n_other_parallel_edges

const unsigned int n_other_parallel_edges = (1 << (dim - 1)) - 1
static

Number and indices of all of those edges parallel to each of the edges in a cell.

Definition at line 724 of file grid_tools_topology.cc.

◆ parallel_edges

const unsigned int parallel_edges[GeometryInfo< dim >::lines_per_cell][n_other_parallel_edges]
static

Definition at line 726 of file grid_tools_topology.cc.

◆ cell_index

unsigned int cell_index

Definition at line 783 of file grid_tools_topology.cc.

◆ edge_within_cell

unsigned int edge_within_cell

Definition at line 784 of file grid_tools_topology.cc.

◆ adjacent_cells

AdjacentCells<dim> adjacent_cells
private

References to the (at most) two cells that are adjacent to the edge this object corresponds to. Unused elements are default-initialized and have invalid values; in particular, their cell_index field equals numbers::invalid_unsigned_int.

Store the set of cells adjacent to this edge (these cells then also store where in the cell the edge is located).

Definition at line 867 of file grid_tools_topology.cc.

◆ vertex_indices

unsigned int vertex_indices[GeometryInfo< dim >::vertices_per_cell]

The global indices of the two vertices that bound this edge. These will be ordered so that the first index is less than the second.

A list of global indices for the vertices that bound this cell.

Definition at line 947 of file grid_tools_topology.cc.

◆ orientation_status

OrientationStatus orientation_status

Definition at line 960 of file grid_tools_topology.cc.

◆ edge_indices

unsigned int edge_indices[2]

A list of indices into the 'edge_list' array passed to the constructor for the edges of the current cell.

Storage space to store the indices of at most two edges.

Definition at line 1010 of file grid_tools_topology.cc.