Skip to content

Document and test interpolation tensor layouts - #1092

Open
garth-wells wants to merge 1 commit into
mainfrom
garth/interpolation-documentation
Open

garth-wells wants to merge 1 commit into
mainfrom
garth/interpolation-documentation

Conversation

@garth-wells

Copy link
Copy Markdown
Member

Closes #189.

Basix already exposes per-entity interpolation tensors through M and stores the global interpolation weights in a layout that supports a tensor view without copying. Document these interfaces so users can access component and derivative axes directly:

  • Describe the complete matrix shape and (component, point, derivative) column ordering in C++ and Python, including derivative DOFs and the rank-4 view.
  • Explain M and x in Python and remove the stale C++ claim that M() only supports custom elements.
  • Correct the blocked Lagrange interpolation example's component index.

Extend the existing interpolation test to exercise the documented tensor contraction, including derivative DOFs that were previously skipped. Add checks that per-entity tensors reproduce the appropriate DOFs for built-in Lagrange, Raviart–Thomas, Nédélec and Hermite elements. No public API or storage changes are needed.

Validation: interpolation tests against a Developer build: 584 passed, 8 expected failures; Sphinx HTML build with warnings as errors; Doxygen HTML build (only existing obsolete configuration-tag warnings); Ruff check/format, Gersemi check, clang-format and whitespace checks.

This branch has not been deployed

No deployments
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.

Improve interpolation interface

1 participant