From 4d70f2f8d943f809061f0fcf1d503854c3b2ae89 Mon Sep 17 00:00:00 2001 From: Chris Richardson Date: Fri, 20 Dec 2024 10:53:32 +0000 Subject: [PATCH] Fix for mixed topology when mixing cells with different facet types in 3D (#3572) --- cpp/dolfinx/fem/dofmapbuilder.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cpp/dolfinx/fem/dofmapbuilder.cpp b/cpp/dolfinx/fem/dofmapbuilder.cpp index 676bb48eeba..78bf8a8c5b7 100644 --- a/cpp/dolfinx/fem/dofmapbuilder.cpp +++ b/cpp/dolfinx/fem/dofmapbuilder.cpp @@ -279,6 +279,10 @@ build_basic_dofmaps( const std::vector>& e_dofs_d = entity_dofs[d]; + // Skip over undefined topology, e.g. quad facets of tetrahedra + if (d < D and !topology.connectivity({D, i}, {d, et})) + continue; + // Iterate over each entity of current dimension d and type et std::span c_to_e = d < D ? topology.connectivity({D, i}, {d, et})->links(c)