![]() |
Reference documentation for deal.II version 9.3.3
|
Classes | |
struct | CellTypeBase |
struct | CellTypeHex |
struct | CellTypeLine |
struct | CellTypePyramid |
struct | CellTypeQuad |
struct | CellTypeTet |
struct | CellTypeTri |
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 |
Functions | |
template<typename T > | |
void | determine_neighbors (const CRS< T > &con_cf, CRS< T > &con_cc) |
template<int key_length, typename FU > | |
void | build_entity_templated (const unsigned int d, 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, std::vector< unsigned char > &orientations, const FU &second_key_function) |
template<typename FU > | |
void | build_entity (const unsigned int d, 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, std::vector< unsigned char > &orientations, const FU &second_key_function) |
void | build_intersection (const std::vector< std::shared_ptr< CellTypeBase > > &cell_types, const std::vector<::ReferenceCell > &cell_types_index, const CRS< unsigned int > &con_cv, const CRS< unsigned int > &con_cl, const CRS< unsigned int > &con_lv, const CRS< unsigned int > &con_cq, const CRS< unsigned int > &con_qv, const std::vector< unsigned char > &ori_cq, CRS< unsigned int > &con_ql, std::vector< unsigned char > &ori_ql, std::vector<::ReferenceCell > &quad_t_id) |
template<typename T > | |
Connectivity< T > | 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) |
template<typename T , int dim> | |
Connectivity< T > | build_connectivity (const std::vector< CellData< dim > > &cells) |
static ::ExceptionBase & | ExcGridHasInvalidCell (int arg1) |
static ::ExceptionBase & | ExcInternalErrorOnCell (int arg1) |
static ::ExceptionBase & | ExcCellHasNegativeMeasure (int arg1) |
static ::ExceptionBase & | ExcInvalidVertexIndex (int arg1, int arg2, int arg3) |
static ::ExceptionBase & | ExcLineInexistant (int arg1, int arg2) |
static ::ExceptionBase & | ExcQuadInexistant (int arg1, int arg2, int arg3, int arg4) |
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) |
void | reserve_space (TriaFaces &tria_faces, const unsigned int new_quads_in_pairs, const unsigned int new_quads_single) |
void | reserve_space (TriaLevel &tria_level, const unsigned int total_cells, const unsigned int dimension, const unsigned int space_dimension) |
static ::ExceptionBase & | ExcMemoryInexact (int arg1, int arg2) |
void | monitor_memory (const TriaLevel &tria_level, const unsigned int true_dimension) |
void | reserve_space (TriaObjects &tria_objects, const unsigned int new_objects_in_pairs, const unsigned int new_objects_single=0) |
void | monitor_memory (const TriaObjects &tria_object, const unsigned int) |
template<int dim, int spacedim> | |
const Manifold< dim, spacedim > & | get_default_flat_manifold () |
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) |
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 946 of file connectivity.h.
void internal::TriangulationImplementation::build_entity_templated | ( | const unsigned int | d, |
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, | ||
std::vector< unsigned char > & | 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 999 of file connectivity.h.
void internal::TriangulationImplementation::build_entity | ( | const unsigned int | d, |
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, | ||
std::vector< unsigned char > & | 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 1183 of file connectivity.h.
|
inline |
Build surface lines described by:
Furthermore, the type of the quad is determined.
Definition at line 1244 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 1359 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 1445 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 | |||
) |
const Manifold< dim, spacedim > & internal::TriangulationImplementation::get_default_flat_manifold | ( | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |