| 
| 
template<typename T >  | 
| void  | reorder_list (std::span< T > list, std::span< const std::int32_t > nodemap) | 
|   | Re-order an adjacency list of fixed degree. 
  | 
|   | 
| template<std::floating_point T>  | 
| std::tuple< std::vector< std::int32_t >, std::vector< T >, std::vector< std::int32_t > >  | compute_vertex_coords_boundary (const mesh::Mesh< T > &mesh, int dim, std::span< const std::int32_t > facets) | 
|   | The coordinates of 'vertices' for for entities of a give dimension that are attached to specified facets.  
  | 
|   | 
| std::vector< std::int32_t >  | exterior_facet_indices (const Topology &topology) | 
|   | Compute the indices of all exterior facets that are owned by the caller.  
  | 
|   | 
| std::vector< std::int64_t >  | extract_topology (CellType cell_type, const fem::ElementDofLayout &layout, std::span< const std::int64_t > cells) | 
|   | Extract topology from cell data, i.e. extract cell vertices.  
  | 
|   | 
| template<std::floating_point T>  | 
| std::vector< T >  | h (const Mesh< T > &mesh, std::span< const std::int32_t > entities, int dim) | 
|   | Compute greatest distance between any two vertices of the mesh entities (h).  
  | 
|   | 
| template<std::floating_point T>  | 
| std::vector< T >  | cell_normals (const Mesh< T > &mesh, int dim, std::span< const std::int32_t > entities) | 
|   | Compute normal to given cell (viewed as embedded in 3D)  
  | 
|   | 
| template<std::floating_point T>  | 
| std::vector< T >  | compute_midpoints (const Mesh< T > &mesh, int dim, std::span< const std::int32_t > entities) | 
|   | Compute the midpoints for mesh entities of a given dimension.  
  | 
|   | 
| template<std::floating_point T>  | 
| std::pair< std::vector< T >, std::array< std::size_t, 2 > >  | compute_vertex_coords (const mesh::Mesh< T > &mesh) | 
|   | 
| template<std::floating_point T, MarkerFn< T > U>  | 
| std::vector< std::int32_t >  | locate_entities (const Mesh< T > &mesh, int dim, U marker) | 
|   | Compute indices of all mesh entities that evaluate to true for the provided geometric marking function.  
  | 
|   | 
| template<std::floating_point T, MarkerFn< T > U>  | 
| std::vector< std::int32_t >  | locate_entities_boundary (const Mesh< T > &mesh, int dim, U marker) | 
|   | Compute indices of all mesh entities that are attached to an owned boundary facet and evaluate to true for the provided geometric marking function.  
  | 
|   | 
| template<std::floating_point T>  | 
| std::vector< std::int32_t >  | entities_to_geometry (const Mesh< T > &mesh, int dim, std::span< const std::int32_t > entities, bool orient) | 
|   | Determine the indices in the geometry data for each vertex of the given mesh entities.  
  | 
|   | 
| CellPartitionFunction  | create_cell_partitioner (mesh::GhostMode ghost_mode=mesh::GhostMode::none, const graph::partition_fn &partfn=&graph::partition_graph) | 
|   | 
| std::vector< std::int32_t >  | compute_incident_entities (const Topology &topology, std::span< const std::int32_t > entities, int d0, int d1) | 
|   | Compute incident indices.  
  | 
|   | 
| template<typename U >  | 
| Mesh< typename std::remove_reference_t< typename U::value_type > >  | create_mesh (MPI_Comm comm, MPI_Comm commt, std::span< const std::int64_t > cells, const fem::CoordinateElement< typename std::remove_reference_t< typename U::value_type > > &element, MPI_Comm commg, const U &x, std::array< std::size_t, 2 > xshape, const CellPartitionFunction &partitioner) | 
|   | Create a distributed mesh from mesh data using a provided graph partitioning function for determining the parallel distribution of the mesh.  
  | 
|   | 
| template<typename U >  | 
| Mesh< typename std::remove_reference_t< typename U::value_type > >  | create_mesh (MPI_Comm comm, std::span< const std::int64_t > cells, const fem::CoordinateElement< std::remove_reference_t< typename U::value_type > > &elements, const U &x, std::array< std::size_t, 2 > xshape, GhostMode ghost_mode) | 
|   | Create a distributed mesh from mesh data using the default graph partitioner to determine the parallel distribution of the mesh.  
  | 
|   | 
| template<std::floating_point T>  | 
| std::tuple< Mesh< T >, std::vector< std::int32_t >, std::vector< std::int32_t >, std::vector< std::int32_t > >  | create_submesh (const Mesh< T > &mesh, int dim, std::span< const std::int32_t > entities) | 
|   | Create a new mesh consisting of a subset of entities in a mesh.  
  | 
|   | 
Functions supporting mesh operations.