|
| Topology (MPI_Comm comm, std::vector< CellType > type) |
| Create empty mesh topology.
|
|
| Topology (const Topology &topology)=default |
| Copy constructor.
|
|
| Topology (Topology &&topology)=default |
| Move constructor.
|
|
| ~Topology ()=default |
| Destructor.
|
|
Topology & | operator= (const Topology &topology)=delete |
| Assignment.
|
|
Topology & | operator= (Topology &&topology)=default |
| Assignment.
|
|
int | dim () const noexcept |
| Return the topological dimension of the mesh.
|
|
void | set_entity_group_offsets (int dim, const std::vector< std::int32_t > &offsets) |
| Set the offsets for each group of entities of a particular dimension. See entity_group_offsets .
|
|
const std::vector< std::int32_t > & | entity_group_offsets (int dim) const |
| Get the offsets for each group of entities of a particular dimension.
|
|
void | set_index_map (int dim, std::shared_ptr< const common::IndexMap > map) |
| Set the IndexMap for dimension dim.
|
|
std::shared_ptr< const common::IndexMap > | index_map (int dim) const |
| Get the IndexMap that described the parallel distribution of the mesh entities.
|
|
std::shared_ptr< const graph::AdjacencyList< std::int32_t > > | connectivity (int d0, int d1) const |
| Return connectivity from entities of dimension d0 to entities of dimension d1.
|
|
void | set_connectivity (std::shared_ptr< graph::AdjacencyList< std::int32_t > > c, int d0, int d1) |
| Set connectivity for given pair of topological dimensions.
|
|
const std::vector< std::uint32_t > & | get_cell_permutation_info () const |
| Returns the permutation information.
|
|
const std::vector< std::uint8_t > & | get_facet_permutations () const |
| Get the permutation number to apply to a facet.
|
|
std::vector< CellType > | cell_types () const noexcept |
| Cell type.
|
|
std::int32_t | create_entities (int dim) |
| Create entities of given topological dimension.
|
|
void | create_connectivity (int d0, int d1) |
| Create connectivity between given pair of dimensions, d0 -> d1 .
|
|
void | create_entity_permutations () |
| Compute entity permutations and reflections.
|
|
const std::vector< std::int32_t > & | interprocess_facets () const |
| List of inter-process facets, if facet topology has been computed.
|
|
MPI_Comm | comm () const |
| Mesh MPI communicator.
|
|
Topology stores the topology of a mesh, consisting of mesh entities and connectivity (incidence relations for the mesh entities).
A mesh entity e may be identified globally as a pair e = (dim, i)
, where dim is the topological dimension and i is the index of the entity within that topological dimension.
- Todo:
- Rework memory management and associated API. Currently, there is no clear caching policy implemented and no way of discarding cached data.
const std::vector< std::int32_t > & entity_group_offsets |
( |
int |
dim | ) |
const |
Get the offsets for each group of entities of a particular dimension.
The topology may consist of more than one cell type or facet type. In that case, the cells of the same types are grouped together in blocks, firstly for regular cells, then repeated for ghost cells. For example, a mesh with two triangles, three quads and no ghosts would have offsets: 0, 2, 5, 5, 5. A mesh with twenty tetrahedra and two ghost tetrahedra has offsets: 0, 20, 22.
- Parameters
-
dim | Dimension of the entities |
- Returns
- The offsets