dolfinx icon indicating copy to clipboard operation
dolfinx copied to clipboard

Allow promotion of geometry dimension for built-in mesh creators.

Open jhale opened this issue 1 year ago • 1 comments

There is currently no easy way to create e.g. a unit interval living in 2d or 3d geometric space.

After discussion of this implementation I will implement the others the same way.

jhale avatar Oct 14 '24 15:10 jhale

I will now do the work on the C++ interface to get this parameter up to Geometry.

jhale avatar Oct 15 '24 08:10 jhale

Will have to look at this post-release - it would still be very useful to have "affine domain" non-affine mesh so that we can push-forward an affine domain with an analytical map with higher-order accuracy.

jhale avatar Jul 18 '25 08:07 jhale

Will have to look at this post-release - it would still be very useful to have "affine domain" non-affine mesh so that we can push-forward an affine domain with an analytical map with higher-order accuracy.

I would like to make CoordinateElement as independent of Basix as possible in order to support a range of possible maps. Maybe we should have something like CellMap that is more generic.

Dealing with this could also resolve #3815. We should gave for the mesh module/namespace to have no dependency on the fem module/namespace.

garth-wells avatar Jul 21 '25 15:07 garth-wells

Will have to look at this post-release - it would still be very useful to have "affine domain" non-affine mesh so that we can push-forward an affine domain with an analytical map with higher-order accuracy.

I would like to make CoordinateElement as independent of Basix as possible in order to support a range of possible maps. Maybe we should have something like CellMap that is more generic.

Dealing with this could also resolve #3815. We should gave for the mesh module/namespace to have no dependency on the fem module/namespace.

It would be a good idea to decouple the CoordinateElement from basix. However, to do so, we need a rather large redesign from the C++ side and carefully think about what we need to expose to make the CoordinateElement complete and usable for external packages (dolfinx_mpc, asimov-contact etc), as by currently providing the escape hatch to the basix element, these libraries can access information we do not currently expose in DOLFINx.

As a side note; Many other finite element software do treat the CoordinateElement as any standard finite element.

jorgensd avatar Jul 29 '25 18:07 jorgensd