-
-
Notifications
You must be signed in to change notification settings - Fork 44
Description
Macroelements are defined by splitting the reference cell into smaller cells, then defining the polyset using piecewise polynomials on these subcells.
The hard assumption that basis functions are polynomial on the cell in Basix prevent these from being used currently.
There are two types of macro element that I am aware of:
1. Macro elements obtained by dividing each cell by splitting edges in half
For example: P1-iso-P2
The diagram for the tetrahedron is taken from Snoeijer, J., Numerical Reconstruction of Fundamental Solutions of the Stokes System with Finite Elements (with labels added)
2. Macro elements obtained by dividing cell by splitting angles in half
For example, Guzman-Neilan, HCT
I am yet to find a source that uses this type of macro element for a quad. Two possible dissections could be:

To do list
- Allow for elements to have different polyset types
- Come up with sensible naming for macro polysets #689
- Edge macro elements (1)
- Implement lowest degree polysets for edge macro elements
- Implement arbitrary degree polysets for edge macro elements on intervals, quads, and hexes
- Implement arbitrary degree polysets for edge macro elements on triangles and tets
- Vertex macro elements (2)
- Implement lowest degree polysets for vertex macro elements
- Implement arbitrary degree polysets for vertex macro elements on intervals and quads
- Implement arbitrary degree polysets for vertex macro elements on triangles
- Implement polysets for 3D cells


