deal.II version GIT relicensing-6809-ge913b9bb34 2026-09-25 17:20:01+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 | Functions
internal::TriangulationImplementation Namespace Reference

Classes

struct  ArrayOfArrays
 
struct  Connectivity
 
struct  Implementation
 
struct  ImplementationMixedMesh
 
struct  Iterators
 
struct  Iterators< 1, spacedim >
 
struct  Iterators< 2, spacedim >
 
struct  Iterators< 3, spacedim >
 
struct  NumberCache
 
struct  NumberCache< 1 >
 
struct  NumberCache< 2 >
 
struct  NumberCache< 3 >
 
class  PolicyWrapper
 
struct  Strides
 Strides of various arrays in a Triangulation. More...
 
class  TriaFaces
 
class  TriaLevel
 
class  TriaObjects
 
class  TriaObjectsOrientations
 

Functions

static ::ExceptionBase & ExcInternalErrorOnCell (int arg1)
 
static ::ExceptionBase & ExcCellHasNegativeMeasure (int arg1)
 
static ::ExceptionBase & ExcInvalidVertexIndex (int arg1, int arg2, int arg3)
 
static ::ExceptionBase & ExcInteriorLineCantBeBoundary (int arg1, int arg2, types::boundary_id arg3)
 
static ::ExceptionBase & ExcInteriorQuadCantBeBoundary (int arg1, int arg2, int arg3, int arg4, types::boundary_id arg5)
 
static ::ExceptionBase & ExcMultiplySetLineInfoOfLine (int arg1, int arg2)
 
static ::ExceptionBase & ExcInconsistentLineInfoOfLine (int arg1, int arg2, std::string arg3)
 
static ::ExceptionBase & ExcInconsistentQuadInfoOfQuad (int arg1, int arg2, int arg3, int arg4, std::string arg5)
 
static ::ExceptionBase & ExcMemoryInexact (int arg1, int arg2)
 
template<int dim, int spacedim>
void monitor_memory (const TriaLevel< dim, spacedim > &tria_level, const unsigned int true_dimension)
 
void monitor_memory (const TriaObjects &tria_object, const unsigned int)
 
ArrayOfArrays determine_neighbors (const ArrayOfArrays &cells_to_faces)
 
template<int max_n_vertices, int face_dim, int dim, typename FU >
void build_face_entities_templated (const std::vector< ReferenceCell< dim > > &cell_types, const ArrayOfArrays &cells_to_vertices, ArrayOfArrays &cells_to_faces, ArrayOfArrays &crs_0, std::vector< types::geometric_orientation > &orientations, const FU &second_key_function)
 
template<int face_dim, int dim, typename FU >
void build_face_entities (const std::vector< ReferenceCell< dim > > &cell_types, const ArrayOfArrays &cells_to_vertices, ArrayOfArrays &cells_to_faces, ArrayOfArrays &crs_0, std::vector< types::geometric_orientation > &orientations, const FU &second_key_function)
 
template<int dim>
void build_intersection (const std::vector< ReferenceCell< dim > > &cell_types, const ArrayOfArrays &cells_to_vertices, const ArrayOfArrays &cells_to_lines, const ArrayOfArrays &lines_to_vertices, const ArrayOfArrays &cells_to_quads, const ArrayOfArrays &quads_to_vertices, const std::vector< types::geometric_orientation > &ori_cq, ArrayOfArrays &quads_to_lines, std::vector< types::geometric_orientation > &ori_ql, std::vector< ReferenceCell< 2 > > &quad_t_id)
 
template<int dim>
Connectivity< dim > build_connectivity (const std::vector< ReferenceCell< dim > > &cell_types, const std::set< ReferenceCell< dim > > &all_reference_cells, const ArrayOfArrays &cells_to_vertices)
 
template<int dim>
Connectivity< dim > build_connectivity (const std::vector< CellData< dim > > &cells)
 
unsigned int n_cells (const internal::TriangulationImplementation::NumberCache< 1 > &c)
 
unsigned int n_active_cells (const internal::TriangulationImplementation::NumberCache< 1 > &c)
 
unsigned int n_cells (const internal::TriangulationImplementation::NumberCache< 2 > &c)
 
unsigned int n_active_cells (const internal::TriangulationImplementation::NumberCache< 2 > &c)
 
unsigned int n_cells (const internal::TriangulationImplementation::NumberCache< 3 > &c)
 
unsigned int n_active_cells (const internal::TriangulationImplementation::NumberCache< 3 > &c)
 

Detailed Description

A namespace for classes internal to the triangulation classes and helpers.

Function Documentation

◆ monitor_memory() [1/2]

template<int dim, int spacedim>
void internal::TriangulationImplementation::monitor_memory ( const TriaLevel< dim, spacedim > &  tria_level,
const unsigned int  true_dimension 
)

Check the memory consistency of the different containers. Should only be called with the preprocessor flag DEBUG set. The function should be called from the functions of the higher TriaLevel classes.

Definition at line 2067 of file tria.cc.

◆ monitor_memory() [2/2]

void internal::TriangulationImplementation::monitor_memory ( const TriaObjects &  tria_object,
const unsigned int   
)

Check the memory consistency of the different containers. Should only be called with the preprocessor flag DEBUG set. The function should be called from the functions of the higher TriaLevel classes.

Definition at line 2088 of file tria.cc.

◆ determine_neighbors()

ArrayOfArrays internal::TriangulationImplementation::determine_neighbors ( const ArrayOfArrays &  cells_to_faces)

Determine the neighbors of all cells.

con_cf connectivity cell-face

Returns
connectivity cell-cell (for each cell-face it contains the index of the neighboring cell or -1 for boundary face)

Definition at line 2513 of file tria.cc.

◆ build_face_entities_templated()

template<int max_n_vertices, int face_dim, int dim, typename FU >
void internal::TriangulationImplementation::build_face_entities_templated ( const std::vector< ReferenceCell< dim > > &  cell_types,
const ArrayOfArrays &  cells_to_vertices,
ArrayOfArrays &  cells_to_faces,
ArrayOfArrays &  crs_0,
std::vector< types::geometric_orientation > &  orientations,
const FU &  second_key_function 
)

Build entities of dimension face_dim (with 0<face_dim<dim). Entities are described by a set of vertices.

Furthermore, the function determines for each cell of which face_dim-dimensional entity it consists of and its orientation relative to the cell.

Definition at line 2588 of file tria.cc.

◆ build_face_entities()

template<int face_dim, int dim, typename FU >
void internal::TriangulationImplementation::build_face_entities ( const std::vector< ReferenceCell< dim > > &  cell_types,
const ArrayOfArrays &  cells_to_vertices,
ArrayOfArrays &  cells_to_faces,
ArrayOfArrays &  crs_0,
std::vector< types::geometric_orientation > &  orientations,
const FU &  second_key_function 
)

Call the right templated function to be able to use std::array instead of std::vector.

Definition at line 2804 of file tria.cc.

◆ build_intersection()

template<int dim>
void internal::TriangulationImplementation::build_intersection ( const std::vector< ReferenceCell< dim > > &  cell_types,
const ArrayOfArrays &  cells_to_vertices,
const ArrayOfArrays &  cells_to_lines,
const ArrayOfArrays &  lines_to_vertices,
const ArrayOfArrays &  cells_to_quads,
const ArrayOfArrays &  quads_to_vertices,
const std::vector< types::geometric_orientation > &  ori_cq,
ArrayOfArrays &  quads_to_lines,
std::vector< types::geometric_orientation > &  ori_ql,
std::vector< ReferenceCell< 2 > > &  quad_t_id 
)

Build surface lines described by:

  • connectivity quad -> line
  • orientation of line relative to the quad

Furthermore, the type of the quad is determined.

Definition at line 2864 of file tria.cc.

◆ build_connectivity() [1/2]

template<int dim>
Connectivity< dim > internal::TriangulationImplementation::build_connectivity ( const std::vector< ReferenceCell< dim > > &  cell_types,
const std::set< ReferenceCell< dim > > &  all_reference_cells,
const ArrayOfArrays &  cells_to_vertices 
)

Build the reduced connectivity table for the given dimension dim.

This function is inspired by the publication Anders Logg "Efficient Representation of Computational Meshes" and the FEniCS's DOLFIN mesh implementation. It has been strongly adjusted to efficiently solely meet our connectivity needs while sacrificing some of the flexibility there.

Definition at line 2979 of file tria.cc.

◆ build_connectivity() [2/2]

template<int dim>
Connectivity< dim > internal::TriangulationImplementation::build_connectivity ( const std::vector< CellData< dim > > &  cells)

Preprocessing step to remove the template argument dim.

Definition at line 3066 of file tria.cc.

◆ n_cells() [1/3]

unsigned int internal::TriangulationImplementation::n_cells ( const internal::TriangulationImplementation::NumberCache< 1 > &  c)

Definition at line 15808 of file tria.cc.

◆ n_active_cells() [1/3]

unsigned int internal::TriangulationImplementation::n_active_cells ( const internal::TriangulationImplementation::NumberCache< 1 > &  c)

Definition at line 15815 of file tria.cc.

◆ n_cells() [2/3]

unsigned int internal::TriangulationImplementation::n_cells ( const internal::TriangulationImplementation::NumberCache< 2 > &  c)

Definition at line 15823 of file tria.cc.

◆ n_active_cells() [2/3]

unsigned int internal::TriangulationImplementation::n_active_cells ( const internal::TriangulationImplementation::NumberCache< 2 > &  c)

Definition at line 15830 of file tria.cc.

◆ n_cells() [3/3]

unsigned int internal::TriangulationImplementation::n_cells ( const internal::TriangulationImplementation::NumberCache< 3 > &  c)

Definition at line 15838 of file tria.cc.

◆ n_active_cells() [3/3]

unsigned int internal::TriangulationImplementation::n_active_cells ( const internal::TriangulationImplementation::NumberCache< 3 > &  c)

Definition at line 15845 of file tria.cc.