DOLFINx
0.5.1
DOLFINx C++ interface
|
Topology stores the topology of a mesh, consisting of mesh entities and connectivity (incidence relations for the mesh entities). More...
#include <Topology.h>
Public Member Functions | |
Topology (MPI_Comm comm, 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_index_map (int dim, const std::shared_ptr< const common::IndexMap > &map) |
std::shared_ptr< const common::IndexMap > | index_map (int dim) const |
Get the IndexMap that described the parallel distribution of the mesh entities. More... | |
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. More... | |
void | set_connectivity (std::shared_ptr< graph::AdjacencyList< std::int32_t >> c, int d0, int d1) |
Set connectivity for given pair of topological dimensions. More... | |
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. More... | |
CellType | cell_type () const noexcept |
Cell type. More... | |
std::int32_t | create_entities (int dim) |
Create entities of given topological dimension. More... | |
void | create_connectivity (int d0, int d1) |
Create connectivity between given pair of dimensions, d0 -> d1 . More... | |
void | create_entity_permutations () |
Compute entity permutations and reflections. | |
MPI_Comm | comm () const |
Mesh MPI communicator. More... | |
Public Attributes | |
std::vector< std::int64_t > | original_cell_index |
Original cell index. | |
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.
|
noexcept |
Cell type.
MPI_Comm comm | ( | ) | const |
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.
[in] | d0 | |
[in] | d1 |
nullptr
if connectivity has not been computed. void create_connectivity | ( | int | d0, |
int | d1 | ||
) |
Create connectivity between given pair of dimensions, d0 -> d1
.
[in] | d0 | Topological dimension |
[in] | d1 | Topological dimension |
std::int32_t create_entities | ( | int | dim | ) |
Create entities of given topological dimension.
[in] | dim | Topological dimension |
const std::vector< std::uint8_t > & get_facet_permutations | ( | ) | const |
Get the permutation number to apply to a facet.
The permutations are numbered so that:
n % 2
gives the number of reflections to applyn // 2
gives the number of rotations to applyEach column of the returned array represents a cell, and each row a facet of that cell.
std::shared_ptr< const common::IndexMap > index_map | ( | int | dim | ) | const |
Get the IndexMap that described the parallel distribution of the mesh entities.
[in] | dim | Topological dimension |
dim
. Returns nullptr
if index map has not been set. void set_connectivity | ( | std::shared_ptr< graph::AdjacencyList< std::int32_t >> | c, |
int | d0, | ||
int | d1 | ||
) |
Set connectivity for given pair of topological dimensions.
void set_index_map | ( | int | dim, |
const std::shared_ptr< const common::IndexMap > & | map | ||
) |
Set the IndexMap for dimension dim