Add vectorized versions of `push_forward` and `pull_back` to the Python interface of CoordinateElement
- Dominant language
- C++
- Stars
- 1.2k
- Forks
- 261
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 65
Description
### Describe new/missing feature
Is needed for performance and should probably happen in the nanobind layer.
We still need to decide if:
1. Should we pull back all input points for an array of cells (cell geometries)? Does this really make sense?
- If not, should we send in a list of numpy arrays, where the i-th entry of the list is a 2D array for pulling back to the `i-th` cell geometry?
2. Should we push forward all input points for an array of cells (this makes more sense (for instance if pushing quadrature points forward).
Above, one has to extract the cell-geometry in Python, and then pass it to the C++ interface, would it make more sense to pass in `cell-indices`, and let the nanobind layer pack the geometry data? Or does this remove some generality, where one would like to perturb mesh coordinates without moving the mesh itself?
### Suggested user interface
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.