![]() |
Reference documentation for deal.II version 9.5.1
|
Classes | |
| struct | CellTypeBase |
| struct | CellTypeHexahedron |
| struct | CellTypeLine |
| struct | CellTypePyramid |
| struct | CellTypeQuadrilateral |
| struct | CellTypeTetrahedron |
| struct | CellTypeTriangle |
| struct | CellTypeWedge |
| struct | Connectivity |
| struct | CRS |
| 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 | Policy |
| class | PolicyWrapper |
| class | TriaFaces |
| class | TriaLevel |
| class | TriaObjects |
| class | TriaObjectsOrientations |
A namespace for classes internal to the triangulation classes and helpers.
| void internal::TriangulationImplementation::determine_neighbors | ( | const CRS< T > & | con_cf, |
| CRS< T > & | con_cc | ||
| ) |
Determine the neighbors of all cells.
con_cf connectivity cell-face con_cc connectivity cell-cell (for each cell-face it contains the index of the neighboring cell or -1 for boundary face)
Definition at line 947 of file connectivity.h.
| void internal::TriangulationImplementation::build_face_entities_templated | ( | const unsigned int | face_dimensionality, |
| const std::vector< std::shared_ptr< CellTypeBase > > & | cell_types, | ||
| const std::vector< ReferenceCell > & | cell_types_index, | ||
| const CRS< unsigned int > & | crs, | ||
| CRS< unsigned int > & | crs_d, | ||
| CRS< unsigned int > & | crs_0, | ||
| TriaObjectsOrientations & | orientations, | ||
| const FU & | second_key_function | ||
| ) |
Build entities of dimension d (with 0<d<dim). Entities are described by a set of vertices.
Furthermore, the function determines for each cell of which d-dimensional entity it consists of and its orientation relative to the cell.
Definition at line 1000 of file connectivity.h.
| void internal::TriangulationImplementation::build_face_entities | ( | const unsigned int | face_dimensionality, |
| const std::vector< std::shared_ptr< CellTypeBase > > & | cell_types, | ||
| const std::vector< ReferenceCell > & | cell_types_index, | ||
| const CRS< unsigned int > & | crs, | ||
| CRS< unsigned int > & | crs_d, | ||
| CRS< unsigned int > & | crs_0, | ||
| TriaObjectsOrientations & | 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 1191 of file connectivity.h.
|
inline |
Build surface lines described by:
Furthermore, the type of the quad is determined.
Definition at line 1256 of file connectivity.h.
| Connectivity< T > internal::TriangulationImplementation::build_connectivity | ( | const unsigned int | dim, |
| const std::vector< std::shared_ptr< CellTypeBase > > & | cell_t, | ||
| const std::vector< ReferenceCell > & | cell_t_id, | ||
| const CRS< T > & | con_cv | ||
| ) |
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 1374 of file connectivity.h.
| Connectivity< T > internal::TriangulationImplementation::build_connectivity | ( | const std::vector< CellData< dim > > & | cells | ) |
Preprocessing step to remove the template argument dim.
Definition at line 1461 of file connectivity.h.
| void internal::TriangulationImplementation::reserve_space | ( | TriaLevel & | tria_level, |
| const unsigned int | total_cells, | ||
| const unsigned int | dimension, | ||
| const unsigned int | space_dimension | ||
| ) |
Reserve space for TriaLevel. Details:
Reserve enough space to accommodate total_cells cells on this level. Since there are no used flags on this level, you have to give the total number of cells, not only the number of newly to accommodate ones, like in the TriaLevel<N>::reserve_space functions, with N>0.
Since the number of neighbors per cell depends on the dimensions, you have to pass that additionally.
| void internal::TriangulationImplementation::reserve_space | ( | TriaObjects & | tria_objects, |
| const unsigned int | new_objects_in_pairs, | ||
| const unsigned int | new_objects_single = 0 |
||
| ) |
Reserve space for TriaObjects. Details:
Assert that enough space is allocated to accommodate new_objs_in_pairs new objects, stored in pairs, plus new_obj_single stored individually. This function does not only call vector::reserve(), but does really append the needed elements.
In 2d e.g. refined lines have to be stored in pairs, whereas new lines in the interior of refined cells can be stored as single lines.
| void internal::TriangulationImplementation::monitor_memory | ( | const TriaObjects & | tria_object, |
| const unsigned int | |||
| ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |