8
Meshing tube geometry with gmsh (Author: K. Indireshkumar) We will mesh the tube geometry (created with freeecad) with gmsh. For this tutorial, we assume the tube geometry was exported into a STEP file “tube_laminar_flow.step”. If on Odyssey, start singularity: singularity shell /n/seas_computing/scientific_software/freecad-OpenFoam-2021.simg On the command line, type: source /opt/openfoam8/etc/bashrc export PATH=/usr/local/bin/:$PATH export PATH=/opt/paraviewopenfoam56/bin/:$PATH export PATH=/opt/gmsh-4.7.1-Linux64/bin/:$PATH Start gmsh from the directory that contains the STEP file named above (via command line in singularity or a desktop icon if locally installed) gmsh Open a new file (File → New) called “tube_laminar_flow.geo” and press “OK”. You will be presented with a panel with “OpenCASCADE” as an option. Select it by clicking on it. Now, in another window, edit the file “tube_laminar_flow.geo” with a text editor (vim, nano, etc.) and add the line: Merge “tube_laminar_flow.step”; after the SetFactory(“OpenCASCADE”); line and save the file. (Note: the format should be exactly as it appears above including the semicolon at the end.) Import the geometry into gmsh by clicking on Modules → Geometry → Reload Script (Fig 1).

Meshing tube geometry with gmsh

  • Upload
    others

  • View
    18

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Meshing tube geometry with gmsh

Meshing tube geometry with gmsh(Author: K. Indireshkumar)

We will mesh the tube geometry (created with freeecad) with gmsh. For this tutorial, weassume the tube geometry was exported into a STEP file “tube_laminar_flow.step”.

● If on Odyssey, start singularity:

singularity shell/n/seas_computing/scientific_software/freecad-OpenFoam-2021.simg

● On the command line, type:

source /opt/openfoam8/etc/bashrcexport PATH=/usr/local/bin/:$PATHexport PATH=/opt/paraviewopenfoam56/bin/:$PATHexport PATH=/opt/gmsh-4.7.1-Linux64/bin/:$PATH

● Start gmsh from the directory that contains the STEP file named above (viacommand line in singularity or a desktop icon if locally installed)

gmsh

● Open a new file (File → New) called “tube_laminar_flow.geo” and press “OK”.You will be presented with a panel with “OpenCASCADE” as an option. Select itby clicking on it.

● Now, in another window, edit the file “tube_laminar_flow.geo” with a text editor(vim, nano, etc.) and add the line:

Merge “tube_laminar_flow.step”;

after the SetFactory(“OpenCASCADE”); line and save the file. (Note: the formatshould be exactly as it appears above including the semicolon at the end.)

● Import the geometry into gmsh by clicking on Modules → Geometry → ReloadScript (Fig 1).

Page 2: Meshing tube geometry with gmsh

Fig. 1

Defining Physical Groups

We now define geometric physical groups to facilitate application of boundaryconditions. We need to define surfaces: inlet, outlet, and the wall. We also need todefine the computational domain (volume).

Page 3: Meshing tube geometry with gmsh

Fig. 2● With the mouse, tilt the image of the tube in gmsh a little to obtain a view similar

to the one in Fig. 2.● Open the physical groups panel via Modules → Geometry → Physical Groups →

Add.● Click on “Surface”, enter “inlet” in the “Physical Group Context” box, and click on

the line which says “Plane 2” (could be a different number in your case). You mayhave to hover on the line for it to display the plane number (see Fig. 3). Click “e”to end selection.

● Repeat the above sequence for selecting “outlet” and “wall” (Figs 4 and 5).● Finally, click on “Volume” under “Add”, enter “tube” in the “Physical Group

Context” and click on the spherical blob at the center that signifies volume.

Fig. 3. Select the inlet surface

Page 4: Meshing tube geometry with gmsh

Fig. 4. Select the outlet surface

Page 5: Meshing tube geometry with gmsh

Fig. 5. Select the wall

Mesh creation

For work with OpenFOAM, hexahedral meshes are more suited than tetrahedralmeshing. As the geometry is long and thin, we need fewer mesh points in the axialdirection and denser mesh points in the lateral direction. We accomplish this in twosteps:

● Select Modules → Geometry → Elementary entities → Extrude → Translate.● This opens up a panel as shown in Fig. 6. We want to extrude a mesh of 25

mesh points in the axial direction (length 1000 mm). Hence DZ is set to 1000 andMesh layers is set to 25.

● Select “Extrude mesh” and “Recombine”. Finally set the selection mode to“Surfaces”.

● On the geometry, find the transverse plane (X-Y plane, Z-coordinate is 0 on thisplane) at the origin (in this case, it is “Plane 3” (Fig. 6)) and select (click) on theline that is displayed as Plane 3 (could be different in your case). Click “e” to endselection. This will extrude mesh in the axial direction to fill the geometry.Hovering on the central circle should display “extruded” as in Fig. 7.

Page 6: Meshing tube geometry with gmsh

Fig. 6. Meshing by extrusion

Fig. 7. Extruded surface (the yellow box)● We will now define the mesh in the lateral direction. Via Tools → Options →

Mesh → General, select the meshing algorithms and other parameters formeshing lateral surfaces.

Page 7: Meshing tube geometry with gmsh

● We have selected a set of algorithms and parameters that seem to work well forthis case (Fig. 8.). To produce the hexahedral mesh, it is crucial to select“Recombine all triangular meshes” and “All Hexas”. You can experiment with theminimum and maximum element sizes.

Fig. 8. Meshing algorithms and parameters for meshing lateral surfaces.● Meshing involves selecting sequentially via the left panel Mesh → 1D,

Mesh → 2D, Mesh → 3D.● Finally export mesh via File-->Export. Select a name for the mesh and

choose the format “Mesh - Gmsh MSH (*.msh)” by clicking on thedownward arrow next to Format. Choosing OK, will present the panel inFigure 10 for saving options. Select “Version 2 ASCII” format.

Page 8: Meshing tube geometry with gmsh

Fig. 9 mesh export options

Fig. 10 Save mesh in Version 2 ASCII format with other options left blank.