[Gmsh] Block structured hex-only-3D-mesh for sequence of conical frustums

Florian Hoffmann florian.hoffmann at inutech.de
Fri Apr 22 09:15:30 CEST 2016


Dear Felix,

thanks a lot for your efforts and detailed information.
Its a pity, but what can one do if the feature is just not supported.

Would you mind sending me the modified .geo file please ?

Thank you.

Best regards,

Florian

Am 21.04.2016 um 17:56 schrieb Felix Salazar:
>
> Hello again,
>
> I might be wrong, but unless there's an experimental Extrude feature 
> that allows tapered/extrusion, I don't think it is possible. You could 
> write directly to Christophe to check this, and maybe suggest the 
> feature, if it's not already under development.
>
> What I did is this:
> * avoid Extrude. Commented the lines in your .GEO.
> * use a dilate on a duplicate of the original circle, setting the 
> Geometry. CopyMeshMethod=1, so it is also transfinite
> * Added manually the lines, surfaces and volumes, setting them 
> transfinite.
>
> I only did it with one quadrant, on the GUI. But it is probably 
> possible to obtain the vertex and line numbers of the copied/dilated 
> surface using a combination of the array[ ] and probably the Boundary{ 
> } function.
>
> I won't be as elegant as your current script, though.
>
> Good luck
>
> On Apr 21, 2016 11:12 AM, felix.a.salazar at gmail.com 
> <mailto:felix.a.salazar at gmail.com> wrote:
>
>     Dear Florian,
>
>     That's a very nice .GEO file. Very organized. The problem is the
>     dilation. When you Extrude the entities, you're assigning those
>     entities mesh information. Then, you modify the geometry, it no
>     longer remains connected. The lines, determined by the position of
>     the vertex, looks correct. But if you show the geometrical
>     surfaces, they are still the ones created with the extrusion, with
>     the exception of the dilated one. Hence, when gmsh reach a surface
>     whose mesh coordinates are known from the geometry, i.e. the one
>     opposite to the extrusion, it finds discrepancies.
>
>     I look at the documentation, and to my knowledge, there's no
>     option that could easily help you. Even if you remove the Layers
>     and create an unstructured mesh, just as a test, would cause
>     errors, at least in my gmsh version.
>
>     I'm thinking of an alternative. Let me do some test and I'll get
>     back to you.
>
>     Sorry for the delay. Time zones I guess...
>
>     On Apr 21, 2016 4:48 AM, "Florian Hoffmann"
>     <florian.hoffmann at inutech.de <mailto:florian.hoffmann at inutech.de>>
>     wrote:
>
>         Dear Felix,
>
>         thank you very much for your quick response.
>         Please find attached a simplified example highlighting my problem.
>         It is a simple cylinder with an internal block structure. The
>         3D geometry is obtained by extruding several surfaces (=blocks
>         for hexaeder meshing). Extrusion is done in line 161 of the
>         *.geo file.
>         With the variable 'withDilate' in line 186 one can switch
>         on/off the dilate command I was trying to obtain the
>         frustum-like outline with.
>         I also attached two screenshot showing my problem when
>         meshing: On the left hand side there is the cylinder (Extrude
>         only) and on the right hand side one can see the conical
>         frustum (Extrude+Dilate) but one can also see the problem with
>         the mesh.
>         If you could point me to the bits that I would have to
>         change/add in order to make this work, that would be really
>         really making my day.
>
>         Thank you very much.
>
>         Best regards,
>
>         Florian
>
>
>
>
>
>         Am 21.04.2016 um 06:18 schrieb Felix Salazar:
>>
>>         Hello,
>>
>>         I did something similar not too long ago. My geometry had a
>>         basic structure, and for different cases, the angles and
>>         lengths of the sections varied. Just make sure that Extrude
>>         ReturnLateralEntities option is on, and check the contents of
>>         the extruded array.  Start with the B->C extrusion only, and
>>         make sure that you're using the Layers option in the
>>         extrusion, to get your structured mesh. Depending on your
>>         options, you might need to explicitly recombine your elements
>>         to get hexas. Could we see your .GEO file? Just from the B-B
>>         surface to the extrusion? You can remove the details of the
>>         A-A section, to protect IP
>>
>>         On Apr 20, 2016 5:47 PM, "Florian Hoffmann"
>>         <florian.hoffmann at inutech.de
>>         <mailto:florian.hoffmann at inutech.de>> wrote:
>>
>>             Dear all,
>>
>>
>>             I would like to generate a block structured
>>             hexaeder-only-3D-mesh for a geometry consisting of
>>             several conical frustums. Something like this:
>>
>>
>>               __________
>>               \                 /
>>                |               |
>>                 \             /
>>                  |           |
>>             C_|           | _ C
>>                  \          /            ^  extrude B->C
>>             B _ \____/  _ B    _|_
>>             A _  |___|   _ A
>>
>>
>>             Section A-A has a non-circular cross-section, and section
>>             B-B and all others above have circular cross-section. I
>>             successfully created A-A and the circular cross-section
>>             B-B. Both consist of several surfaces/blocks (see
>>             attached picture). In my *.geo script I try to work with
>>             variables. There I collect the IDs of all surfaces
>>             forming the cross-section B-B (= the bottom of the first
>>             conical frustum) in an array
>>             (=cross_section_BB_surfaces[]). Nevertheless, when I try
>>             to Extrude+Dilate these surfaces in order to build the
>>             first conical frustum (=B-B -> C-C), during meshing I get
>>             several errors about „Could not find extruded vertex …“ .
>>             Extrusion-only of B-B to C-C (without Dilate) works fine,
>>             but this would just give me a cylinder outline and it is
>>             not what I want.
>>             Since I need a block structured mesh and also because A-A
>>             has a non-circular cross-section (see bottom plane of
>>             geometry in attached picture) I would really like to make
>>             use of the extrude command for creation of C-C and the
>>             other frustum above.
>>
>>             (1) Is there a way to make this work (without having to
>>             create all frustums including their blocked structure by
>>             hand) ?
>>
>>             (2) If not, can anybody think of a solution for how to
>>             script this in an efficient and handable way ?
>>
>>
>>             Thanks a lot.
>>
>>             Cheers Flo
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>             Mit freundlichen Grüßen
>>             --**
>>             Dr.-Ing. Florian Hoffmann**
>>             inuTech GmbH Phone    : +49-(0)911-323843-22
>>             <tel:%2B49-%280%29911-323843-22>
>>             Fuerther Strasse 212         Fax        :
>>             +49-(0)911-323843-43 <tel:%2B49-%280%29911-323843-43>
>>             90429 Nuernberg               E-Mai l  
>>             :florian.hoffmann at inutech.de
>>             <mailto:florian.hoffmann at inutech.de>
>>             Germany  Internet  : http://www.inutech.de
>>
>>             inuTech GmbH
>>             Sitz / Registered Office: Nuernberg
>>             Handelsregister / Companies' Register: AG Nürnberg HRB
>>             Nr. 19026
>>             Geschäftsführer / Managing Director: Frank Vogel
>>
>>             *****************************************************************
>>             DIFFPACK - THE NEW GENERATION OF SIMULATION-SOFTWARE!
>>
>>             Go to http://www.diffpack.com to read the details
>>             *****************************************************************
>>
>>
>>             _______________________________________________
>>             gmsh mailing list
>>             gmsh at onelab.info <mailto:gmsh at onelab.info>
>>             http://onelab.info/mailman/listinfo/gmsh
>>
>
>         -- Mit freundlichen Grüßen -- Dr.-Ing. Florian Hoffmann
>         inuTech GmbH Phone : +49-(0)911-323843-22
>         <tel:%2B49-%280%29911-323843-22>
>         Fuerther Strasse 212 Fax : +49-(0)911-323843-43
>         <tel:%2B49-%280%29911-323843-43> 90429 Nuernberg E-Mai l :
>         florian.hoffmann at inutech.de
>         <mailto:florian.hoffmann at inutech.de> Germany Internet :
>         http://www.inutech.de inuTech GmbH Sitz / Registered Office:
>         Nuernberg Handelsregister / Companies' Register: AG Nürnberg
>         HRB Nr. 19026 Geschäftsführer / Managing Director: Frank Vogel
>         *****************************************************************
>         DIFFPACK - THE NEW GENERATION OF SIMULATION-SOFTWARE! Go to
>         http://www.diffpack.com to read the details
>         *****************************************************************
>

-- 
Mit freundlichen Grüßen
--
Dr.-Ing. Florian Hoffmann
inuTech GmbH		Phone	 : +49-(0)911-323843-22
Fuerther Strasse 212	Fax	 : +49-(0)911-323843-43
90429 Nuernberg		E-Mai l	 : florian.hoffmann at inutech.de
Germany		        Internet : http://www.inutech.de

inuTech GmbH
Sitz / Registered Office: Nuernberg
Handelsregister / Companies' Register: AG Nürnberg HRB Nr. 19026
Geschäftsführer / Managing Director: Frank Vogel

*****************************************************************
DIFFPACK - THE NEW GENERATION OF SIMULATION-SOFTWARE!

Go to http://www.diffpack.com to read the details
*****************************************************************

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://onelab.info/pipermail/gmsh/attachments/20160422/f8ac7f66/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 231880 bytes
Desc: not available
URL: <http://onelab.info/pipermail/gmsh/attachments/20160422/f8ac7f66/attachment-0001.png>


More information about the gmsh mailing list