Dear Luca

I need a Manifold<2,3> object but I could not succeed in composing
SphericalManifold with a rotation. There were many dimensions involved in
the composition which I have not understood.

But I think I understood what it is supposed to do, so I modified Spherical
Manifold by adding in a 90 deg rotation. I use RotatedSphericalManifold for
north/south faces and SphericalManifold for the other faces.

When I run my code with this, I find large errors arising in the region
where north/south faces meet the other faces.

Is there some incompatibility in my mapping ? Will the face normal vectors
(which lie in tangent plane) be correct at the junction of the two
manifolds ?

The RotatedSphericalManifold is attached.

Thanks
praveen

On Mon, May 16, 2016 at 4:20 PM, luca.heltai <luca.hel...@gmail.com> wrote:

>
> > On 16 May 2016, at 12:37, Praveen C <cprav...@gmail.com> wrote:
> >
> > Dear Luca
> >
> > Thanks for clarifying this issue. I need tangent vector in my code.
> >
> > So I first define a ChartManifold which rotates by 90 deg about x-axis,
> say RotateX. Then I compose it with SphericalManifold and use
> >
> > SphericalManifold * RotateX
> >
> > Is this what you meant ?
> >
> > We have the constructor
> >
> > CompositionManifold(F, G)
> >
> > Does this do F*G or G*F ? The description given in words is a bit
> ambiguous.
>
>
> y = G(F(x))
>
> "ChartManifold going from the chart of the firstChartManifold to the
> embedding space of the second ChartManifold"
>
> In your case, F is your spherical manifold, while your G is the rotation
> manifold (to preserve periodicity of the spherical manifold).
>
> Best,
>
> Luca.
>
> >
> > Thanks
> > praveen
> >
> > On Mon, May 16, 2016 at 2:29 PM, luca.heltai <luca.hel...@gmail.com>
> wrote:
> > 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 <cprav...@gmail.com> 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 dealii+unsubscr...@googlegroups.com.
> > > 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 dealii+unsubscr...@googlegroups.com.
> > 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 dealii+unsubscr...@googlegroups.com.
> > 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 dealii+unsubscr...@googlegroups.com.
> 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 dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Attachment: manifold.cc
Description: Binary data

Reply via email to