Is it possible to program (from scratch) a 2nd-order tetrahedron in FeniCs Legacy?

My question is whether it is possible to include the code of a 2nd-order tetrahedorn into the FEniCs Legacy core without having to fix all the functions. Since dolfinx still has some features not implemented that my problem needs, my only option would be to include this 2nd-order tetrahedron to the legacy core. Thanks in advance.

It’s impolite to tag a person in the very first post demanding an answer from him. I’ve edited the post to remove the tag.

Overall, the question is unclear. For instance, we have no clue what “all functions” are in “without having to fix all the functions”. Please clarify the question. Better support for higher order meshes was one of the items that motivated dolfinx, so you’d better question if you are really willing to duplicate all that effort to implement those in the legacy version.

Sorry, if you thought it was impolite. Anyways, with “all functions” I was referring to “all following depending functions” from a code point of view. My question could be translated to “Is the code structure modular enough for a user to be able to implement a high order mesh without changing too many depending functions?”

Please expand which features dolfinx doesn’t have that you need. I don’t know all the details about how higher order meshes are implemented in dolfinx, but I imagine that re-implementing them is going to be quite a demanding task.

Alot of the code for higher order meshes are in place in legacy dolfin (at least second order geometries). One of the things that are not present is an IO interface to read in meshes and write out results. You would have to implement this yourself.

This would follow the lines of dolfinx.io.gmshio and dolfinx.mesh.vtk_mesh.

There could be other unforseen issues in the legacy core base.

An example of a higher order “built-in” (read as: ordered in the UFC fashion, not VtK or Gmsh node ordering): Bitbucket