How are 2D manifolds immersed/embedded in 3D space handled in dolfinx?

Could you be a bit more specific here. What L^2 errors in my github post (and which github post), and what meshes have been used, as well as the order of the geometry. Are the examples you comparing using the same mesh and equivalent orders of discretization?

For instance, in: Add manifold example with real spaces · Issue #118 · scientificcomputing/scifem · GitHub

when using a third order geometry, I get small L2 errors:

L2 error in u: 6.449031074513135e-07
L2 error in sigma: 1.8679131149781764e-06
H(div) error in sigma: 1.408483169816556e-05

Here I do not use the original meshes by Marie, as they are only linear (affine) triangles, which can reduce the order of convergence, as discussed in her aforementioned paper.

We would usually expect these convergence rates to in-
crease by one order when we change the spaces to DG3
1 −
CG2. However, as discussed in (Bernard et al., 2008), higher-
order convergence can only be achieved if higher-order ap-
proximations to the manifold itself are used, and in our im-
plementation we use affine triangles. Hence, for DG3
1 − CG2,
we also observe second and first order convergence for L2
and H1 norms, respectively. This example tests the use of
three-dimensional vector fields on a two-dimensional mani-
fold mesh.

I might convert the linear shallow water equations eventually, but it is not high on my list of priorities.
THe initial conditions seems to be quite straightforward, as one is assigning zeros to all dofs, the other is a projection, which is for instance covered in: Where to find 'project'-function in dolfinx?

You would have to project sigma into a vector DG space for visualization (as VTK/Pyvista/Paraview only support arbitrary order Lagrange elements). Interpolation is currently broken from div-conforming spaces on manifolds, due to Finite element spaces on manifolds do not carry information about their value_shape in physical space · Issue #3619 · FEniCS/dolfinx · GitHub

1 Like