9 #include "cell_types.h"
10 #include <Eigen/Dense>
13 #include <dolfinx/common/MPI.h>
26 class ElementDofLayout;
62 : _mpi_comm(comm), _cell_type(type),
90 void set_index_map(
int dim,
91 const std::shared_ptr<const common::IndexMap>& map);
97 std::shared_ptr<const common::IndexMap> index_map(
int dim)
const;
105 std::shared_ptr<const graph::AdjacencyList<std::int32_t>>
106 connectivity(
int d0,
int d1)
const;
114 const Eigen::Array<std::uint32_t, Eigen::Dynamic, 1>&
115 get_cell_permutation_info()
const;
126 const Eigen::Array<std::uint8_t, Eigen::Dynamic, Eigen::Dynamic>&
127 get_facet_permutations()
const;
145 std::int32_t create_entities(
int dim);
150 void create_connectivity(
int d0,
int d1);
153 void create_entity_permutations();
156 void create_connectivity_all();
160 MPI_Comm mpi_comm()
const;
170 std::array<std::shared_ptr<const common::IndexMap>, 4> _index_map;
173 Eigen::Array<std::shared_ptr<graph::AdjacencyList<std::int32_t>>,
174 Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>
178 Eigen::Array<std::uint8_t, Eigen::Dynamic, Eigen::Dynamic>
183 Eigen::Array<std::uint32_t, Eigen::Dynamic, 1> _cell_permutations;
205 const std::vector<std::int64_t>& original_cell_index,
206 const std::vector<int>& ghost_owners,