Restructure `FunctionSpace` and `Form` for mixed-topology meshes
Open
- Dominant language
- C++
- Stars
- 1.2k
- Forks
- 261
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 65
Description
Currently, for mixed-topology meshes we have to create a `FunctionSpace` and `Form` for each cell type. This isn't very natural and leads to objects with almost the same data; for example, the main difference between the forms is just the kernel.
I think we should restructure this so we create a single `FunctionSpace` (with possibly multiple element types) and a single `Form` (with possibly multiple kernels).
This should hopefully simplify both the user interface and the assembler implementation, since we can just loop over all kernels in the assembler rather than having to reverse engineer the cell type from the form.
Contributor guide
Assessment
This issue has not been assessed yet.