deal.II version 9.8.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\}}\)
Loading...
Searching...
No Matches
internal::TriangulationImplementation Namespace Reference

Classes

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

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 2073 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 2094 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 2514 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 2589 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 2805 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 2865 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 2980 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 3067 of file tria.cc.

◆ n_cells() [1/3]

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

Definition at line 15817 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 15824 of file tria.cc.

◆ n_cells() [2/3]

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

Definition at line 15832 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 15839 of file tria.cc.

◆ n_cells() [3/3]

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

Definition at line 15847 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 15854 of file tria.cc.