Skip to content

Improvements to the polytopal and hybrid methods API#1218

Open
JordiManyer wants to merge 67 commits intomasterfrom
polytopal
Open

Improvements to the polytopal and hybrid methods API#1218
JordiManyer wants to merge 67 commits intomasterfrom
polytopal

Conversation

@JordiManyer
Copy link
Member

@JordiManyer JordiManyer commented Feb 17, 2026

Added

  • Added better ways to iterate over Table, following the SparseArrays model. Mainly, we introduce datarange, dataview and dataiterator functions. Since PR#1218.
  • Added a new preference to control the integer type used for indexing local quantities (e.g. faces within a cell). A new function set_local_integer_type is introduced, which sets a new type GridapLocalInt (default Int8) that is set at compile time. This allows for GeneralPolytopes with an arbitrary number of faces. Since PR#1218.
  • Added new function compute_graph returning the face-connectivity of meshes and submeshes. Since PR#1218.
  • Added a new API to change the block structure of multi-field cellfields. The MultiFieldFEBasisComponent and MultiFieldBasis have now new constructors that easily allow to recast a multi-field space with a different block structure. Since PR#1218.
  • Various improvements to the polytopal API. For GeneralPolytopes, added is_convex, signed_area, signed_volume, convexify(2D), extrude, as well as several low-level functions to manipulate polytopes. We now compute normals using Newel's algorithm, which is more stable. Since PR#1218.

Changed

  • Reworked the CellConformity API to be more flexible and extensible, while optimizing certain parts. CellConformity is now abstract, with new concrete types GenericCellConformity (stores generic arrays), CompressedCellConformity (stores compressed data optimized for low number of reffe types, old CellConformity), and DiscontinuousCellConformity (DG-type conformity, much faster for discontinuous spaces). For all new conformities, I have introduced a new API to query dof masks based on the faces dofs belong to, mainly generate_cell_dof_mask and generate_dof_mask. Since PR#1218.

Fixed

  • Small bugfix in face_labeling_from_cell_tags. Since PR#1218.

JordiManyer and others added 30 commits August 9, 2025 10:42
Add check to skip UNSET entries in inverse_table function to prevent
invalid array access.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@JordiManyer JordiManyer changed the title Fruther improvements to the polytopal and hybrid methods API Improvements to the polytopal and hybrid methods API Feb 17, 2026
@codecov
Copy link

codecov bot commented Feb 17, 2026

Codecov Report

❌ Patch coverage is 65.04559% with 345 lines in your changes missing coverage. Please review.
✅ Project coverage is 87.19%. Comparing base (bcca1e6) to head (556aef9).

Files with missing lines Patch % Lines
src/ReferenceFEs/GeneralPolytopes.jl 72.08% 79 Missing ⚠️
src/FESpaces/ConformingFESpaces.jl 30.61% 68 Missing ⚠️
src/FESpaces/DiscontinuousFESpaces.jl 52.00% 36 Missing ⚠️
src/Arrays/Tables.jl 46.55% 31 Missing ⚠️
src/Adaptivity/PolytopalRefinement.jl 38.29% 29 Missing ⚠️
src/Geometry/PatchTriangulations.jl 79.41% 21 Missing ⚠️
src/Arrays/AccumulationMaps.jl 0.00% 15 Missing ⚠️
src/Geometry/PolytopalDiscreteModels.jl 87.50% 12 Missing ⚠️
src/MultiField/MultiFieldCellFields.jl 83.05% 10 Missing ⚠️
src/FESpaces/PatchAssemblers.jl 40.00% 9 Missing ⚠️
... and 10 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1218      +/-   ##
==========================================
- Coverage   89.04%   87.19%   -1.85%     
==========================================
  Files         213      214       +1     
  Lines       27530    28122     +592     
==========================================
+ Hits        24514    24522       +8     
- Misses       3016     3600     +584     
Flag Coverage Δ
drivers 40.79% <34.04%> (+40.79%) ⬆️
extensions 6.22% <1.31%> (+6.22%) ⬆️
tests 86.44% <63.62%> (-2.60%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant