FEM Mesh/fr

Créer un FEM Mesh
L'analyse par éléments finis (FEA) est effectuée sur un maillage composé de multiples éléments triangulaires et quadrilatéraux qui subdivisent le corps d'origine. Plus le maillage est raffiné, plus les résultats numériques seront précis, mais le temps de calcul sera également plus long. Un équilibre entre la taille du maillage, le temps de calcul et la précision des résultats est une caractéristique importante d'une analyse par éléments finis bien définie.

Il existe différentes possibilités pour configurer un maillage dans l'atelier FEM :
 * L'outil Gmsh de l'interface utilisateur graphique.
 * L'outil Netgen à partir de l'interface graphique.
 * Importer un maillage depuis un autre programme. En particulier, Gmsh et Netgen peuvent être utilisés seuls en dehors de FreeCAD pour mailler des corps solides tels que des fichiers Step.
 * Créer manuellement le maillage à l'aide de scripts Python.

Les outils Gmsh et Netgen prennent en charge les corps de maillage créés avec les ateliers Part et PartDesign, ainsi que les copies simples de ces solides. En général, tout atelier générant des objets solides, tel que l'atelier Arch, peut être utilisé comme base de création de maillages. Notez qu'un maillage utilisé pour FEA est différent d'un maillage créé ou importé à partir de l'atelier Mesh.





Les outils Gmsh et Netgen sont des outils pratiques pour rapidement mailler un corps et ne pas exposer ainsi toutes les capacités de ces programmes. ils créent normalement des maillages triangulaires, ce qui peut ne pas être idéal pour certains types d'analyse. Si vous souhaitez mieux contrôler le maillage créé (utilisez uniquement des quadrilatères, un nombre et une taille d'élément précis, une résolution variable du maillage, etc.), vous devez utiliser ces programmes en externe, créez un fichier de maillage dans un format pris en charge, et importez ce fichier dans FreeCAD.

Previously, Netgen was included with FreeCAD and could be used immediately. Now, both Netgen and Gmsh should be installed before they can be used by the FEM Workbench. Refer to FEM Install for instructions.

implémenté

 * Gmsh
 * http://gmsh.info/
 * https://gitlab.onelab.info/gmsh/gmsh
 * Netgen
 * https://ngsolve.org/
 * https://github.com/NGSolve/netgen

Meshing software operates on solid bodies that can be in different formats, like Step and Brep. These programs can be used independently of FreeCAD, and typically have many options to control the meshing algorithms, element size, and boundary conditions.

The FEM Workbench has developed simple communication interfaces to use Gmsh and Netgen directly inside FreeCAD. Other programs don't have an interface, but this could change in the future if there is interest from the community, and if those applications are easy to integrate. The meshing software can be compiled and distributed together with FreeCAD only if its license is compatible with the GPL2 or LGPL2 licenses; otherwise, the program has to be used as an external binary, like Gmsh is used.

Interface implemented in FreeCAD

 * Gmsh: main website, code repository
 * Netgen: main website, code repository

d'intérêt

 * ENigMA
 * https://forum.freecadweb.org/viewtopic.php?f=18&t=33048
 * https://github.com/bjaraujo/ENigMA
 * libMesh
 * https://forum.freecadweb.org/viewtopic.php?f=18&t=33621
 * http://libmesh.github.io/
 * https://github.com/libMesh/libmesh
 * Trés intéressant. En C++ seulement.
 * PythonOCC
 * http://www.pythonocc.org/
 * SnappyHexMesh
 * https://openfoamwiki.net/index.php/SnappyHexMesh
 * Tetgen
 * http://wias-berlin.de/software/tetgen/


 * ENigMA, forum thread, code repository
 * libMesh, main website, code repository, forum thread; it's a very active project, and it's C++ only
 * PythonOCC, main website
 * SnappyHexMesh, main website
 * Tetgen, main website

Éléments FEM Mesh dans FreeCAD
FreeCAD supporte différents types d'éléments. Il existe un blog externe qui en explique les différences et comment les utiliser: https://www.comsol.com/blogs/meshing-your-geometry-various-element-types/


 * "ni" signifie que le type d'élément n'est pas implémenté dans FreeCAD, mais le format est supporté.
 * "-" signifie que la spécification de format n'est pas supporté, donc ne sera pas accepté par FreeCAD.
 * "?" on ne sait pas si ce type d'élément est supporté.

Généralités
Plus d'informations sur les types d'éléments FEM et la structure des données incluses dans FreeCAD peuvent être trouvées dans FEM Types d'éléments.

More information on the elements, and their data structure inside FreeCAD can be found in FEM Element Types.

Création d'un objet mesh avec 10 Éléments
FreeCAD Scripting Basics.

The Python API allows the user to define a finite element mesh by directly adding individual nodes, and defining edges, faces, and volumes.

The mesh itself is of type, which needs to be attached to a proper document object of type.

Creating a mesh with one Tet-10 element
Create an empty FemMesh, populate it with nodes, create the volume, and finally call to create the document object with the corresponding mesh.

Vous pouvez utiliser les éléments prédéfini et nombre de noeuds:

To create an actual document object, instead of you can also use the document  method; then attach the created mesh to this object's  attribute.

Manipulations visuelles
sélectionnez des noeuds dans la vue 3D:

Once a FemMesh object has been created with, some of its visual properties can be changed by modifying the different attributes of its. This can be useful to postprocess the mesh after a finite element solution has been obtained.

Highlight some nodes in the mesh

Post-traitement des Couleurs et déplacement: Sélectionnez des noeuds dans la vue 3D:

Set volume 1 to red

Set nodes 1, 2 and 3 to a certain color; the faces between the nodes acquire an interpolated color

Displace the nodes 1 and 2 by the magnitude and direction defined by a vector

Double the factor of the displacement shown

Shell, 3 node triangle, tria3 (linear)
Add a face with the element number.

Shell, 6 node triangle, tria6 (quadratic)
Add a face with the element number.

Shell, 4 node quadrangle, quad4 (linear)
Add a face with the element number.

Shell, 8 node quadrangle, quad8 (quadratic)
Add a face with the element number.

Volume, 4 node tetrahedron, tetra4 (linear)
Add a volume with the element number.

Volume, 10 node tetrahedron, tetra10 (quadratic)
Add a volume with the element number.

Volume, 8 node hexahedron, hexa8 (linear)
Add a volume with the element number.

Volume, 20 node hexahedron, hexa20 (quadratic)
Add a volume with the element number.

Volume, 6 node pentahedron, penta6 (linear)
Add a volume with the element number.

Volume, 15 node pentahedron, penta15 (quadratic)
Add a volume with the element number.

Volume, 5 node pyramid, pyra5 (linear)
Add a volume with the element number.

Volume, 13 node pyramid, pyra13 (quadratic)
Add a volume with the element number.