On Mon, Dec 2, 2013 at 6:49 PM, Geoffrey Irving <[email protected]> wrote:
> What would be the best way to represent the rest shape of a shell (2D > manifold embedded in 3D) in the case that the mesh has no natural 2D > atlas? The simplest example is a sphere. I would like to give DMPlex > the ambient 3D coordinates so as to avoid singularities in the > gradient fields. > As long as the elements do not take up a significant portion of the sphere, the regular thing is fine here. > If I was only dealing with first order elements, presumably the > correct approach would be to set the topological dimension of the > DMPlex to 2, give it a 3D coordinate section, and fix the few places > required to carry through gradient information correctly. I haven't > done a thorough search of missing places yet, but at least > DMPlexComputeLineGeometry_Internal doesn't handle 1D elements in 3D, > which is required at the boundary of 2D shells in 3D. > Yes, this can be fixed. > Unfortunately, something more is required for higher order accuracy, > since naively the coordinate section itself would have to be higher > order, and this would require lots of changes (the equivalent of > DMPlexComputeCellGeometry would be called once per quadrature point > instead of once per element). > I have never been convinced that isoperimetric stuff produces enough benefit for its complication. Polynomials are not good approximators for the Jacobian of these transforms. NURBS are so much better. If I could not refine my way out of the problem, I would seriously consider them. Matt > Is there a better clean way to support FE PDEs on spheres or other > nontrivial surfaces in 3D? > > Thanks, > Geoffrey > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener
