It is sought for a workflow that allows to generate a mesh with quadratic tetrahedral elements from a curved three-dimensional shape, e.g. a sphere, where all the corresponding boundary nodes lie on the sphere. However, the additional nodes that are generated due to the quadratic nature of the elements are located in the median between the corner vertices of the tetrahedral elements. The latter can be observed using the following code snippet,
Radius = 5;sp = multisphere(Radius);m1 = createpde;m1.Geometry = sp;Hmax = 2;mesh = generateMesh(m1,'Hmax',Hmax);pdeplot3D(m1);hold onfor i = 1:length(m1.Mesh.Elements(:, 1)) nodeID = m1.Mesh.Elements(i, 1); plot3(m1.Mesh.Nodes(1, nodeID), m1.Mesh.Nodes(2, nodeID), m1.Mesh.Nodes(3,nodeID), 'ro');end
which results in the following mesh,
Note that the additional nodes due to the quadratic tetrahedral elements are located in the median between the corner vertices of the tetrahedral elements and not on the exact geometry, as it would be desirable for some applications.
How can I generate a mesh with quadratic tetrahedral elements using function 'generateMesh' whose boundary nodes follow the underlying curved geometry?
Best Answer