Hi, I am interested in using firedrake to investigate using different "higher order" meshes. By this I mean replacing mesh coordinates with piecewise polynomial function from a particular function space. A typical example would be a higher order Lagrange space but I am also interested in investigating other function spaces too (e.g. Hermite). According to the documentation I can find online this should be possible (https://www.firedrakeproject.org/mesh-coordinates.html). I've written what I think is about the simplest test case - solving a Poisson equation on a unit square (taken from https://www.firedrakeproject.org/demos/helmholtz.py.html) and used L2 projection to define the new coordinates of the identity map (I understand that interpolation isn't always defined for different spaces). Test case simple.py attached. I can run successfully with a Lagrange space of different orders: ``` (firedrake) Singularity> python simple.py Lagrange 3 Lagrange (3) mesh with 200 elements created successfully. problem on mesh defined successfully problem solved successfully error 0.053347460759624356 ``` But the equivalent code for a Hermite basis doesn't work (and gives the long errors attached). ``` (firedrake) Singularity> python simple.py Hermite &> hermite.out ``` Can anyone help with this? Is there any reason why this code shouldn't run? Thanks, Tom