FEM MeshGmshFromShape

From FreeCAD Documentation
Revision as of 10:35, 22 March 2021 by Uwestoehr (talk | contribs) (describe more properties)

This documentation is not finished. Please help and contribute documentation.

GuiCommand model explains how commands should be documented. Browse Category:UnfinishedDocu to see more incomplete pages like this one. See Category:Command Reference for all commands.

See WikiPages to learn about editing the wiki pages, and go to Help FreeCAD to learn about other ways in which you can contribute.

FEM MeshGmshFromShape

Menu location
Mesh → FEM mesh from shape by Gmsh
Workbenches
FEM
Default shortcut
None
Introduced in version
-
See also
FEM tutorial

Description

For a finite elements analysis the geometry needs to be discretized into a FEM Mesh. This command uses the program Gmsh (which needs to be installed on the system) for calculating the mesh.

Gmsh is bundled with the FreeCAD installation binaries. Alternatively you can install it separately from FreeCAD and then use the menu Edit → Preferences → FEM → Gmsh to set the path to the gmsh.exe.

Usage

  1. Select the shape you want to analyze. For volume FEM this needs to be a solid or compsolid. A compsolid is necessary if your part is made from multiple materials. (A compsolid can be created with the BooleanFragments command.)
    • Press the FEM MeshGmshFromShape button.
    • Select the Mesh → FEM mesh from shape by Gmsh option from the menu.
  2. Optionally edit the minimal and maximal element size. (Autodetection works fine unless you apply complicated boundary conditions.)
  3. Click the Apply button and wait for the computation of the mesh to complete
  4. Close the task. You now should see a new FEMMeshGMSH object in your active analysis container.

After the mesh has been crated you can change its properties using the property editor. After you changed a property, you must reopen the Gmsh dialog again and click the Apply button. (You can leave the dialog open while changing properties.)

Properties

  • DataCharacteristic Length Max: The maximal size of the mesh elements. If it is set to 0.0, the size will be set automatically. This property can also be changed in the Gmsh dialog in the field Max element size.
  • DataCharacteristic Length Mix: The minimal size of the mesh elements. If it is set to 0.0, the size will be set automatically. This property can also be changed in the Gmsh dialog in the field Min element size.
  • DataElement Order: The mesh element order
    • 1st
    • 2nd (default)
  • DataMesh Size From Curvature introduced in version 0.20: The number of mesh elements per times the radius of the curvature. To get a finer mesh at small corners or holes, this value can be increased for better results

Effect of Mesh Size From Curvature'; left: set to 12, right: deactivated

Notes

Nonpositive Jacobians

When you get a meshing erro about nonpositive Jacobians, you can try out the following strategies:

  • set the parameter "SecondOrderLinear" to True (but use second order elements)
  • Set DataElement Order to 1st.
  • Use a smaller element size by reducing the DataCharacteristic Length Max.

Mesh Growth

At edges and small geometric entities the mesh has to be smaller than in areas without edges. So the mesh element size grows away from edges. The growing strategy of Gmsh is to grow between edges with different sizes. So the growing fails when an area has the same sized edges like for example this tube:

Failing mesh growing because the cylindrical area is surrounded be the same edges

To enable a sensible mesh growing, you must in this case add an edge to the area. In the example this would be a circle in the middle of the cylinder. The circle is added as part of a BooleanFragments compound (to form a CompSolid), see the project file of the example.

Sensible mesh growing due to the additional edge in the middle of the cylindrical aread