9 #include "cell_types.h" 
   12 #include <dolfinx/common/MPI.h> 
   15 #include <xtl/xspan.hpp> 
   24 class ElementDofLayout;
 
   77   int dim() const noexcept;
 
   83   void set_index_map(
int dim,
 
   84                      const std::shared_ptr<const common::IndexMap>& map);
 
   91   std::shared_ptr<const common::IndexMap> index_map(
int dim) const;
 
  100   std::shared_ptr<const graph::AdjacencyList<std::int32_t>>
 
  101   connectivity(
int d0, 
int d1) const;
 
  105   void set_connectivity(std::shared_ptr<graph::AdjacencyList<std::int32_t>> c,
 
  109   const std::vector<std::uint32_t>& get_cell_permutation_info() const;
 
  122   const std::vector<std::uint8_t>& get_facet_permutations() const;
 
  126   mesh::
CellType cell_type() const noexcept;
 
  136   std::int32_t create_entities(
int dim);
 
  141   void create_connectivity(
int d0, 
int d1);
 
  144   void create_entity_permutations();
 
  148   MPI_Comm mpi_comm() const;
 
  152   dolfinx::MPI::Comm _mpi_comm;
 
  158   std::array<std::shared_ptr<const common::IndexMap>, 4> _index_map;
 
  161   std::vector<std::vector<std::shared_ptr<graph::AdjacencyList<std::int32_t>>>>
 
  167   std::vector<std::uint8_t> _facet_permutations;
 
  171   std::vector<std::uint32_t> _cell_permutations;
 
  192 create_topology(MPI_Comm comm, const graph::AdjacencyList<std::int64_t>& cells,
 
  193                 const xtl::span<const std::int64_t>& original_cell_index,
 
  194                 const xtl::span<const 
int>& ghost_owners,
 
Topology stores the topology of a mesh, consisting of mesh entities and connectivity (incidence relat...
Definition: Topology.h:56
 
Topology & operator=(const Topology &topology)=delete
Assignment.
 
Topology & operator=(Topology &&topology)=default
Assignment.
 
Topology(Topology &&topology)=default
Move constructor.
 
Topology(const Topology &topology)=default
Copy constructor.
 
~Topology()=default
Destructor.
 
Miscellaneous classes, functions and types.
 
Finite element method functionality.
Definition: assemble_matrix_impl.h:23
 
Graph data structures and algorithms.
Definition: AdjacencyList.h:19
 
Mesh data structures and algorithms on meshes.
Definition: DirichletBC.h:20
 
std::vector< bool > compute_boundary_facets(const Topology &topology)
Compute marker for owned facets that are on the exterior of the domain, i.e. are connected to only on...
Definition: Topology.cpp:121
 
Topology create_topology(MPI_Comm comm, const graph::AdjacencyList< std::int64_t > &cells, const xtl::span< const std::int64_t > &original_cell_index, const xtl::span< const int > &ghost_owners, const CellType &cell_type, mesh::GhostMode ghost_mode)
Create distributed topology.
Definition: Topology.cpp:293
 
CellType
Cell type identifier.
Definition: cell_types.h:22
 
GhostMode
Enum for different partitioning ghost modes.
Definition: Mesh.h:44