[Gmsh] Additional surface after boolean operation on volume boundary

Christophe Geuzaine cgeuzaine at uliege.be
Mon May 13 23:30:45 CEST 2019



> On 13 May 2019, at 11:18, Zenker, Dr. Matthias <Matthias.Zenker at erbe-med.com> wrote:
> 
> Hi Christophe,
> 
> thank you, that works!
> 
> Remark:
> BooleanFragments seems to renumber all surfaces of the cube. So for the physical surface definitions, we have to guess in advance which numbers the surfaces will get, or use the GUI...?

You can use the "Boundary" operator ; or search for the surfaces geometrically with "In BoundingBox".

Christophe

> Anyway, my problem is solved. :)
> 
> Matthias
> 
>> -----Ursprüngliche Nachricht-----
>> Von: Christophe Geuzaine [mailto:cgeuzaine at uliege.be]
>> Gesendet: Freitag, 10. Mai 2019 15:54
>> An: Zenker, Dr. Matthias
>> Cc: gmsh at onelab.info
>> Betreff: Re: [Gmsh] Additional surface after boolean operation on volume
>> boundary
>> 
>> 
>> Use Fragments:
>> 
>> SetFactory("OpenCASCADE");
>> Box(1) = {-25, -25, -50, 50, 50, 50};
>> Disk(7) = {0, 0, 0, 0.5, 0.5};
>> BooleanFragments{ Surface{7}; Delete; }{ Volume{1}; Delete; } Characteristic
>> Length {9} = 0.05; Physical Volume("bulk") = {1}; Physical Surface("disk") = {7};
>> 
>> Christophe
>> 
>> 
>>> On 10 May 2019, at 13:06, Zenker, Dr. Matthias <Matthias.Zenker at erbe-
>> med.com> wrote:
>>> 
>>> Hi,
>>> 
>>> I try to create a block with the top surface containing a disk:
>>> 
>>> //+
>>> SetFactory("OpenCASCADE");
>>> //+
>>> Box(1) = {-25, -25, -50, 50, 50, 50};
>>> //+
>>> Disk(7) = {0, 0, 0, 0.5, 0.5};
>>> //+
>>> BooleanDifference{ Surface{6}; Delete; }{ Surface{7}; } //+
>>> Characteristic Length {9} = 0.05; //+ Delete {
>>>  Volume{1};
>>> }
>>> //+
>>> Surface Loop(2) = {1, 3, 5, 4, 2, 6, 7}; //+
>>> Volume(1) = {2};
>>> //+
>>> Physical Volume("bulk") = {1};
>>> //+
>>> Physical Surface("disk") = {7};
>>> //+
>>> Physical Surface("top") = {6};
>>> //+
>>> Physical Surface("bottom") = {5};
>>> //+
>>> Physical Surface("side") = {1, 4, 2, 3};
>>> 
>>> The problem is that the surface 6 is not attached to the volume, but there is a
>> new surface 8 instead which is identical to surface 6, and which is used for the
>> volume.
>>> Consequently, when I create a mesh, the boundary corresponding to surface 6
>> is not attached to the volume, i.e. the nodes of surface 6 do not figure in
>> tetrahedra of the volume, and surface 6 is not recognized by Elmer on import.
>>> What do I do wrong?
>>> 
>>> Thank you for a hint,
>>> Matthias
>>> 
>>> 
>>> 
>>> Erbe Elektromedizin GmbH Firmensitz: 72072 Tuebingen
>>> Geschaeftsfuehrer: Christian O. Erbe, Reiner Thede Registergericht:
>>> Stuttgart HRB 380137
>>> 
>>> _______________________________________________
>>> gmsh mailing list
>>> gmsh at onelab.info
>>> https://urldefense.proofpoint.com/v2/url?u=http-3A__onelab.info_mailma
>>> n_listinfo_gmsh&d=DwIFaQ&c=7vND7vRFB1FzfxRXc-X80O-MJSZd5Q-IVyyYW-
>> Ff2gY
>>> 
>> &r=3enlI3TuQDmO9BnMCnxq2Mfm4tAO6Z3_Ae1Yc57DMr4&m=V_7B61tkQ0a
>> Yr8Dezsuzw
>>> 
>> aT6IOdg8G3w2HF5YVGbVTg&s=LaR6M5F9m0GO2ghW8OhahHTqcLsq6D7xJpCII
>> NHKZJc&e
>>> =
>> 
>>>> Prof. Christophe Geuzaine
>> University of Liege, Electrical Engineering and Computer Science
>> https://urldefense.proofpoint.com/v2/url?u=http-
>> 3A__www.montefiore.ulg.ac.be_-
>> 7Egeuzaine&d=DwIFaQ&c=7vND7vRFB1FzfxRXc-X80O-MJSZd5Q-IVyyYW-
>> Ff2gY&r=3enlI3TuQDmO9BnMCnxq2Mfm4tAO6Z3_Ae1Yc57DMr4&m=V_7B61t
>> kQ0aYr8DezsuzwaT6IOdg8G3w2HF5YVGbVTg&s=PkAHPwRcNSOfLCHPv70Fl2R7
>> aGOAgiL2R0DWN3QE_dM&e=
>> 
>> 
> 
> ________________________________
> 
> Erbe Elektromedizin GmbH Firmensitz: 72072 Tuebingen Geschaeftsfuehrer: Christian O. Erbe, Reiner Thede Registergericht: Stuttgart HRB 380137
> 
> _______________________________________________
> 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