Dear Praveen, there is a bug in SphericalManifold for dimension 3, which makes it unusable so far with MappingManifold.
The issue is with the computation of the tangent vector across the north and south poles. At the moment MappingManifold is the only class using this computation, so if you don’t use MappingManifold, you don’t see this issue. You can solve it by writing a rotated SphericalManifold descriptor (one where the poles are east and west respectively), and associating this Manifold to the north and south faces of the sphere. You could use, for example, CompositionManifold to compose a rotation of 90 degree along the x or y axis with SphericalManifold, and attach the resulting manifold to the north and south faces. This is related to some of the issues here: https://github.com/dealii/dealii/issues/2530 What you are hitting is a problem with the geometry, not with MappingManifold in itself. It is not possible to describe the surface of a sphere with a single chart without introducing at least one singularity. We have implemented the standard polar coordinate mapping, which has two singularities (north and south poles respectively), and these are the ones introducing nans in your computation. Everything works fine when computing intermediate points, but not when computing tangents. I’m still thinking of a way to fix this. The easiest fix is to implement the SphericalManifold without charts, but I haven’t had much time to sit down and do some fun stuff lately… Though, I can help you with implementing fixes, if you are willing to help… :) L. > On 16 May 2016, at 10:35, Praveen C <[email protected]> wrote: > > Dear all > I am solving pde on sphere and want to use MappingManifold > > My mesh is generated like this. > > Point<spacedim> center(0.0, 0.0, 0.0); > GridGenerator::hyper_sphere(triangulation, center, Radius); > static SphericalManifold<dim,spacedim> surface_description; > triangulation.set_all_manifold_ids(0); > triangulation.set_manifold (0, surface_description); > triangulation.refine_global(n_refine); > > Changing from MappingQ to MappingManifold leads to blow up, with nan. > > Before I debug, is there an example I can see of MappingManifold usage ? > > Thanks > praveen > > -- > The deal.II project is located at http://www.dealii.org/ > For mailing list/forum options, see > https://groups.google.com/d/forum/dealii?hl=en > --- > You received this message because you are subscribed to the Google Groups > "deal.II User Group" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
