-
-
Notifications
You must be signed in to change notification settings - Fork 228
Description
#3633 checks that the coordinate element used in generated code is the same as the coordinate element associated with the mesh. It exposed inconsistent mixing of basix.LagrangeVariant.unset and basix.LagrangeVariant.equispaced for coordinate elements. In practice it makes no different at degree <-= 2. To get consistency, #3633 changes mesh coordinate elements to basix.LagrangeVariant.unset.
basix.ufl.element defaults to basix.LagrangeVariant.unset. Forcing the user to specify the variant would be tiresome since nearly all meshes are degree 1 or 2. We could just raise/throw an exception for p > 2 geometry elements when the variant is basix.LagrangeVariant.unset, i.e. force the user to be explicit for higher order meshes (where is matters).
For high-order meshes, it would be neat if we could interpolate the geometry, e.g. interpolate a degree 3 mesh with equispaced points to a degree 3 mesh with GLL points.