[Gmsh] Sphere in a sphere mesh

Christophe Geuzaine cgeuzaine at uliege.be
Wed Mar 4 10:35:26 CET 2020



> On 4 Mar 2020, at 09:25, Silvia Ceccacci (HDR) <silvia.ceccacci at hdr.mq.edu.au> wrote:
> 
> Dear all,
> 
> I would like to generate a geometry where I have a bigger sphere (radius=3) and a smaller one inside it (radius=1). Then I want to generate a 3D mesh without the sphere inside (so there is a hole in the middle of the bigger sphere).
> 
> I am trying two different approaches, but none of them seem to work:
>  
> 1) BooleanDifference - I want to take away the smaller sphere from the bigger one. This is the code:
> 
> Sphere(1) = {0, 0, 0, 1, -Pi/2, Pi/2, 2*Pi};
> Sphere(2) = {0, 0, 0, 3, -Pi/2, Pi/2, 2*Pi}; 
> BooleanDifference{ Volume{2}; Delete; }{ Volume{1}; Delete; }
> 
> but it does not do it. Could you explain why, please?

This works fine; but you need to add "SetFactory("OpenCASCADE");" first.

> 
> 2) Extrude - I generate a half annulus (with the first Extrude), then I want to extrude it in rotation (2*Pi) to generate the same geometry, sphere in a sphere. This is the code:
> 
> Point(1) = {1, 0, 0, 1.0};
> Point(2) = {2, 0, 0, 1.0};
> Line(1) = {1, 2};
> //+
> Extrude {{0, 0, 1}, {0, 0, 0}, Pi} {
> Line{1};Layers{8};Recombine;
> }
> //+
> Extrude {{1, 0, 0}, {0, 0, 0}, Pi} {
> Surface{5};Layers{8};Recombine;
> }
> 
> but again, the second Extrude does not do it. Could you explain why, please?
> 

With the built-in kernel extrusions are limited to angles < Pi. You can do full 2*Pi extrude with OpenCASCADE:

SetFactory("OpenCASCADE");
Point(1) = {1, 0, 0, 1.0};
Point(2) = {2, 0, 0, 1.0};
Line(1) = {1, 2};
Extrude {{0, 0, 1}, {0, 0, 0}, Pi} { Line{1}; }
Extrude {{1, 0, 0}, {0, 0, 0}, 2*Pi} { Surface{1}; }

But you cannot use "Layers" in that case (because OpenCASCADE removes the seam surface. With "Layers" you'll need to extrude twice.)

Christophe



> Could you tell me how to do it, please?
> 
> Thank you.
> 
> Kind regards,
> Silvia
> 
> 
> _______________________________________________
> gmsh mailing list
> gmsh at onelab.info
> http://onelab.info/mailman/listinfo/gmsh

— 
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science 
http://www.montefiore.ulg.ac.be/~geuzaine






More information about the gmsh mailing list