FEM MeshGmshFromShape/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(33 intermediate revisions by 3 users not shown)
Line 20: Line 20:
==Description==
==Description==


Pour une analyse par éléments finis, la géométrie doit être discrétisée en [[FEM_Mesh/fr|FEM Maillage]]. Cette commande utilise le programme [https://fr.wikipedia.org/wiki/Gmsh Gmsh] (qui doit être installé sur le système) pour calculer le maillage.
Pour une analyse par éléments finis, la géométrie doit être discrétisée en un [[FEM_Mesh/fr|maillage FEM]]. Cette commande utilise le logiciel [https://fr.wikipedia.org/wiki/Gmsh Gmsh] (qui doit être installé sur le système) pour générer le maillage.


En fonction de votre système d'exploitation et de votre paquetage d'installation, Gmsh peut être fourni avec FreeCAD ou pas. Pour plus d'informations voir [[FEM_Install/fr|FEM Installation des composants requis]].
Gmsh est fourni avec les binaires d'installation de FreeCAD. Sinon, vous pouvez l'installer séparément de FreeCAD et ensuite utiliser le menu {{MenuCommand|Édition → Préférences → FEM → Gmsh}} pour définir le chemin vers le ''gmsh.exe''.


<span id="Usage"></span>
==utilisation==
==Utilisation==


# Sélectionnez la forme que vous souhaitez analyser. Pour le volume FEM, il doit s'agir d'un solide ou d'un solide. Un compsolid est nécessaire si votre pièce est composée de plusieurs matériaux. (Un compsolid peut être créé avec la commande [[Part_BooleanFragments/fr|Part Fragments booléens]].)
# Sélectionnez la forme que vous souhaitez analyser. Pour le volume FEM, il doit s'agir d'un solide ou d'un composé de solides (compsolid). Un composé de solides est nécessaire si votre pièce est composée de plusieurs matériaux. (Un composé de solides peut être créé avec la commande [[Part_BooleanFragments/fr|Part Fragments booléens]].)
#* Appuyez sur le bouton {{Button|[[Image:FEM_MeshGmshFromShape.svg|16px]] [[FEM_MeshGmshFromShape/fr|Créer un maillage FEM à partir d'une forme de Gmsh]]}}.
#* Appuyez sur le bouton {{Button|[[Image:FEM_MeshGmshFromShape.svg|16px]] [[FEM_MeshGmshFromShape/fr|Maillage FEM à partir d'une forme de Gmsh]]}}.
#* Sélectionnez l'option {{MenuCommand|Maillage → [[Image:FEM_MeshGmshFromShape.svg|16px]] Maillage FEM à partir d'une forme de Gmsh}} dans le menu.
#* Sélectionnez l'option {{MenuCommand|Maillage → [[Image:FEM_MeshGmshFromShape.svg|16px]] Maillage FEM à partir d'une forme de Gmsh}} dans le menu.
# Vous pouvez éventuellement modifier la taille minimale et maximale de l'élément. (La détection automatique fonctionne correctement, sauf si vous appliquez des conditions aux limites compliquées.)
# Vous pouvez éventuellement modifier la taille minimale et maximale des éléments (l'autodétection crée souvent des maillages trop grossiers).
# Cliquez sur le bouton {{Button|Appliquer}} et attendez que le calcul du maillage soit terminé.
# Cliquez sur le bouton {{Button|Appliquer}} et attendez que la génération du maillage soit terminée.
# Ferme la tâche. Vous devriez maintenant voir un nouvel objet FEMMeshGMSH dans votre conteneur d'analyse active.
# Fermez la tâche. Vous devriez maintenant voir un nouvel objet FEMMeshGMSH dans votre conteneur d'analyse active.


Une fois que le maillage a été créé, vous pouvez modifier ses propriétés à l'aide de l'[[Property_editor/fr|Éditeur de propriétés]]. Après avoir modifié une propriété, vous devez rouvrir le dialogue Gmsh et cliquer sur le bouton {{Button|Appliquer}}. (Vous pouvez laisser la boîte de dialogue ouverte pendant la modification des propriétés).
Une fois que le maillage a été créé, vous pouvez modifier ses propriétés à l'aide de l'[[Property_editor/fr|éditeur de propriétés]]. Après avoir modifié une propriété, vous devez rouvrir la boîte de dialogue Gmsh et cliquer sur le bouton {{Button|Appliquer}}. (Vous pouvez laisser la boîte de dialogue ouverte pendant la modification des propriétés).


<span id="Properties"></span>
== Propriétés ==
== Propriétés ==


* {{PropertyData/fr|Algorithm2D}} : algorithme permettant de créer des maillages 2D. Les différents algorithmes sont [https://gmsh.info/doc/texinfo/gmsh.html#Choosing-the-right-unstructured-algorithm expliqué ici]. Pour Delaunay, voir [https://fr.wikipedia.org/wiki/Triangulation_de_Delaunay triangulation de Delaunay].
* {{PropertyData|Algorithm2D}} : algorithme permettant de créer des maillages 2D. Les différents algorithmes sont [https://gmsh.info/doc/texinfo/gmsh.html#Choosing-the-right-unstructured-algorithm expliqué ici]. Pour Delaunay, voir [https://fr.wikipedia.org/wiki/Triangulation_de_Delaunay triangulation de Delaunay].
* {{PropertyData/fr|Algorithm3D}} : algorithme de création de maillages 3D. Les différents algorithmes sont [https://gmsh.info/doc/texinfo/gmsh.html#Choosing-the-right-unstructured-algorithm expliqué ici].
* {{PropertyData|Algorithm3D}} : algorithme de création de maillages 3D. Les différents algorithmes sont [https://gmsh.info/doc/texinfo/gmsh.html#Choosing-the-right-unstructured-algorithm expliqué ici].
* {{PropertyData/fr|Characteristic Length Max}} : taille maximale des éléments du maillage. Si elle est définie sur ''0.0'', la taille sera définie automatiquement. Cette propriété peut également être modifiée dans le dialogue Gmsh dans le champ '''Max element size'''.
* {{PropertyData|Characteristic Length Max}} : taille maximale des éléments du maillage. Si elle est définie sur ''0.0'', la taille sera définie automatiquement. Cette propriété peut également être modifiée dans le dialogue Gmsh dans le champ '''Max element size'''.
* {{PropertyData/fr|Characteristic Length Min}} : taille minimale des éléments du maillage. Si elle est définie à ''0.0'', la taille sera définie automatiquement. Cette propriété peut également être modifiée dans le dialogue Gmsh dans le champ '''Min element size'''.
* {{PropertyData|Characteristic Length Min}} : taille minimale des éléments du maillage. Si elle est définie à ''0.0'', la taille sera définie automatiquement. Cette propriété peut également être modifiée dans le dialogue Gmsh dans le champ '''Min element size'''.
* {{PropertyData/fr|Coherence Mesh}} :
* {{PropertyData|Coherence Mesh}} :
** true (par défaut) ; les noeuds de maillage dupliqués seront supprimés.
** true (par défaut) ; les noeuds de maillage dupliqués seront supprimés.
** false
** false
* {{PropertyData/fr|Element Dimension}} : dimension des éléments du maillage. Cette propriété peut également être modifiée dans le dialogue Gmsh dans le champ '''Mesh element dimension'''.
* {{PropertyData|Element Dimension}} : dimension des éléments du maillage. Cette propriété peut également être modifiée dans le dialogue Gmsh dans le champ '''Mesh element dimension'''.
** From Shape (par défaut) ; la dimension sera déterminée à partir de la dimension de l'objet maillé.
** From Shape (par défaut) ; la dimension sera déterminée à partir de la dimension de l'objet maillé.
** 1D
** 1D
** 2D
** 2D
** 3D
** 3D
* {{PropertyData/fr|Element Order}} : [https://www.comsol.de/support/knowledgebase/1270 ordre des éléments de maillage]. Cette propriété peut également être modifiée dans le dialogue Gmsh dans le champ '''Mesh order'''. {{Version/fr|0.20}}
* {{PropertyData|Element Order}} : [https://www.comsol.de/support/knowledgebase/1270 ordre des éléments de maillage]. Cette propriété peut également être modifiée dans le dialogue Gmsh dans le champ '''Mesh order'''. {{Version/fr|0.20}}
** 1st pour 1er
** 1er
** 2ème (par défaut)</br>'''Remarque:''' si vous utilisez le solveur [[FEM_SolverElmer/fr|Elmer]], vous pouvez obtenir cette erreur : ''ERROR:: GetEdgeBasis: Can't handle but linear elements, sorry.''. Cela signifie que l'équation du solveur ne peut pas gérer les mailles de 2ème ordre. Utilisez alors des mailles de 1er ordre, ou consultez la page Wiki de FreeCAD sur l'équation du solveur pour connaître les options possibles pour gérer les mailles de 2ème ordre.
** 2nd pour 2ème (par défaut)
* {{PropertyData/fr|Geometrical Tolerance}} : tolérance géométrique pour que le maillage corresponde aux bords de l'objet. La valeur par défaut ''0.0'' signifie que la valeur par défaut de 1e-8 de Gmsh est utilisée.
* {{PropertyData|Geometrical Tolerance}} : tolérance géométrique pour que le maillage corresponde aux bords de l'objet. La valeur par défaut ''0.0'' signifie que la valeur par défaut de 1e-8 de Gmsh est utilisée.
* {{PropertyData/fr|Groups Of Nodes}} : tous les noeuds et pas seulement les éléments seront sauvegardés pour chaque groupe physique de maillage. Les groupes physiques sont des collections d'entités de maillage (points, courbes, surfaces et volumes). Ils sont identifiés par leur dimension et par un tag. Par exemple, un maillage de la même région de l'objet est étiqueté de la même façon en interne. Ainsi, toutes les surfaces de cette région formeront un seul groupe physique.
* {{PropertyData|Groups Of Nodes}} : tous les noeuds et pas seulement les éléments seront sauvegardés pour chaque groupe physique de maillage. Les groupes physiques sont des collections d'entités de maillage (points, courbes, surfaces et volumes). Ils sont identifiés par leur dimension et par un tag. Par exemple, un maillage de la même région de l'objet est étiqueté de la même façon en interne. Ainsi, toutes les surfaces de cette région formeront un seul groupe physique.
* {{PropertyData/fr|High Order Optimize}} : si et comment les maillages de {{PropertyData/fr|Element Order}} = ''2nd'' sont optimisés. L'optimisation se fait par une déformation des bordures des éléments.</br>{{Version/fr|0.20}}. Gmsh supporte différents algorithmes d'optimisation. '''Elastic''' est un algorithme dans lequel les éléments du maillage sont traités comme une collection de solides viscoélastiques déformables. Les maillages de 1er ordre ne peuvent pas être optimisés car les bords des éléments sont linéaires et ne peuvent pas être déformés.
* {{PropertyData|High Order Optimize}} : si et comment les maillages de {{PropertyData|Element Order}} = ''2nd'' sont optimisés. L'optimisation se fait par une déformation des bordures des éléments.</br>{{Version/fr|0.20}}. Gmsh supporte différents algorithmes d'optimisation. '''Elastic''' est un algorithme dans lequel les éléments du maillage sont traités comme une collection de solides viscoélastiques déformables. Les maillages de 1er ordre ne peuvent pas être optimisés car les bords des éléments sont linéaires et ne peuvent pas être déformés.
* {{PropertyData/fr|Mesh Size From Curvature}} {{Version/fr|0.20}} : nombre d'éléments de maillage par <math>2\pi</math> fois le rayon de la courbure. Pour obtenir un maillage plus fin au niveau des petits coins ou des trous, cette valeur peut être augmentée pour de meilleurs résultats
* {{PropertyData|Mesh Size From Curvature}} {{Version/fr|0.20}} : nombre d'éléments de maillage par <math>2\pi</math> fois le rayon de la courbure. Pour obtenir un maillage plus fin au niveau des petits coins ou des trous, cette valeur peut être augmentée pour de meilleurs résultats
[[Image:FEM_Gmsh-MeshSizeFromCurvature.png|450px]]
[[Image:FEM_Gmsh-MeshSizeFromCurvature.png|450px]]
{{Caption|Effet de ''Mesh Size From Curvature''; à gauche : réglé sur 12, à droite : désactivé}}.
{{Caption|Effet de ''Mesh Size From Curvature''; à gauche : réglé sur 12, à droite : désactivé}}.
* {{PropertyData/fr|Optimize Netgen}} : si le maillage sera optimisé à l'aide du générateur de maillage 3D [https://github.com/NGSolve/netgen Netgen] pour améliorer la qualité des éléments tétraédriques. Remarque : comme Netgen ne peut créer que des éléments tétraédriques, cette option est ignorée pour les maillages dont la {{PropertyData/fr|Element Dimension}} n'est pas ''3D''.
* {{PropertyData|Optimize Netgen}} : si le maillage sera optimisé à l'aide du générateur de maillage 3D [https://github.com/NGSolve/netgen Netgen] pour améliorer la qualité des éléments tétraédriques. Remarque : comme Netgen ne peut créer que des éléments tétraédriques, cette option est ignorée pour les maillages dont la {{PropertyData|Element Dimension}} n'est pas ''3D''.
* {{PropertyData/fr|Recombination Algorithm}} {{Version/fr|0.20}} : algorithme utilisé pour {{PropertyData/fr|Recombine 3D All}} et également pour {{PropertyData/fr|Recombine All}}. Pour plus d'informations, voir la section [[#Recombinaison_d.27.C3.A9l.C3.A9ments|Recombinaison d'éléments]] et pour les détails techniques, voir la [https://www.gmsh.info/doc/texinfo/gmsh.html#t11 documentation Gmsh].
* {{PropertyData|Recombination Algorithm}} {{Version/fr|0.20}} : algorithme utilisé pour {{PropertyData|Recombine 3D All}} et également pour {{PropertyData|Recombine All}}. Pour plus d'informations, voir la section [[#Recombinaison_d.27.C3.A9l.C3.A9ments|Recombinaison d'éléments]] et pour les détails techniques, voir la [https://www.gmsh.info/doc/texinfo/gmsh.html#t11 documentation Gmsh].
* {{PropertyData/fr|Recombine 3D All}} {{Version/fr|0.20}} : applique un algorithme de recombinaison 3D à tous les volumes. Les tétraèdres seront recombinés en prismes, hexaèdres ou pyramides si possible.
* {{PropertyData|Recombine 3D All}} {{Version/fr|0.20}} : applique un algorithme de recombinaison 3D à tous les volumes. Les tétraèdres seront recombinés en prismes, hexaèdres ou pyramides si possible.
* {{PropertyData/fr|Recombine All}} : applique un algorithme de recombinaison à toutes les surfaces. Les triangles seront recombinés en quadrangles si possible.
* {{PropertyData|Recombine All}} : applique un algorithme de recombinaison à toutes les surfaces. Les triangles seront recombinés en quadrangles si possible.
* {{PropertyData/fr|Optimize Std}} : optimise le maillage pour améliorer la qualité des éléments tétraédriques.
* {{PropertyData|Optimize Std}} : optimise le maillage pour améliorer la qualité des éléments tétraédriques.
* {{PropertyData|Second Order Linear}} : option si les noeuds de second ordre (si {{PropertyData/fr|Element Order}} réglé sur ''2nd'') et/ou les points de raffinement du maillage sont créés par interpolation linéaire.
* {{PropertyData|Second Order Linear}} : option si les noeuds de second ordre (si {{PropertyData|Element Order}} réglé sur ''2nd'') et/ou les points de raffinement du maillage sont créés par interpolation linéaire.
** true; l'interpolation linéaire est utilisée.
** true ; l'interpolation linéaire est utilisée.
** false (par défaut); l'interpolation curviligne est utilisée.
** false (par défaut) ; l'interpolation curviligne est utilisée.
* {{PropertyData|Subdivision Algorithm}} {{Version/fr|1.0}} : permet la création d'éléments quadrilatéraux et hexaédriques par subdivision.
** None : n'utilise aucun algorithme de subdivision
** All Quadrangles : crée des éléments quadrilatéraux par subdivision
** All Hexahedra : crée des éléments hexaédriques par subdivision
** Barycentric : crée des éléments triangulaires par subdivision barycentrique


<span id="Notes"></span>
==Remarques==
==Remarques==


<span id="Nonpositive_Jacobians"></span>
=== Jacobiens non positifs ===
=== Jacobiens non positifs ===


Lorsque vous obtenez une erreur de maillage à cause de Jacobiens non positifs, vous pouvez essayer les stratégies suivantes :
Lorsque vous obtenez une erreur de maillage à cause de Jacobiens non positifs, vous pouvez essayer les stratégies suivantes :


* Définissez {{PropertyData/fr|Second Order Linear}} à ''true'' mais gardez {{PropertyData/fr|Element Order}} à ''2nd''.
* Définissez {{PropertyData|Second Order Linear}} à ''true'' mais gardez {{PropertyData|Element Order}} à ''2nd''.
* Définissez {{PropertyData/fr|Element Order}} à ''1st''.
* Définissez {{PropertyData|Element Order}} à ''1st''.
* Utilisez une taille d'élément plus petite en réduisant {{PropertyData/fr|Characteristic Length Max}}.
* Utilisez une taille d'élément plus petite en réduisant {{PropertyData|Characteristic Length Max}}.
* Si le solveur ccxtools est utilisé et que le bouton d'exécution est utilisé (pas le panneau des tâches), les nœuds des éléments jacobiens non positifs seront verts.
* Si le solveur ccxtools est utilisé et que le bouton d'exécution est utilisé (pas le panneau des tâches), les nœuds des éléments jacobiens non positifs seront verts.


<span id="Mesh_Growth"></span>
===Croissance du maillage===
===Croissance du maillage===


Aux bords et aux petites entités géométriques, le maillage doit être plus petit que dans les zones sans bords. Ainsi, la taille des éléments du maillage augmente en s'éloignant des bords. La stratégie de croissance de Gmsh consiste à croître entre des arêtes de tailles différentes. La croissance échoue donc lorsqu'une zone a des arêtes de même taille, comme par exemple ce tube :
Au niveau des bords et des petites entités géométriques, le maillage doit être plus petit que dans les zones sans bords. Ainsi, la taille des éléments du maillage augmente en s'éloignant des bords. La stratégie de croissance de Gmsh consiste à croître entre des bords de tailles différentes. La croissance échoue donc lorsqu'une zone a des bords de même taille, comme par exemple ce tube :


[[Image:FEM_Gmsh-MeshGrowth-failing.png|400px]]
[[Image:FEM_Gmsh-MeshGrowth-failing.png|400px]]
Line 88: Line 98:


[[Image:FEM_Gmsh-MeshGrowth-success.png|400px]]
[[Image:FEM_Gmsh-MeshGrowth-success.png|400px]]
{{Caption|Croissance notable du maillage grâce à l'arête supplémentaire au milieu de l'arête cylindrique.}}
{{Caption|Croissance notable du maillage grâce à l'arête supplémentaire au milieu de la région cylindrique}}


<span id="Element_Recombination"></span>
===Recombinaison d'éléments===
===Recombinaison d'éléments===


Les éléments peuvent être recombinés de deux manières, à la surface des objets de sorte que les triangles seront recombinés en quadrangles si possible et dans le volume des objets de sorte que les tétraèdres seront recombinés en prismes, hexaèdres ou pyramides si possible. En réfléchissant à la géométrie, il devient clair que le résultat de la recombinaison dépend fortement de la géométrie du corps et que la recombinaison d'un corps 3D uniquement à la surface conduira le plus souvent à des résultats étranges.
Les éléments peuvent être recombinés de deux manières, à la surface des objets de sorte que les triangles seront recombinés en quadrangles si possible et dans le volume des objets de sorte que les tétraèdres seront recombinés en prismes, hexaèdres ou pyramides si possible. En réfléchissant à la géométrie, il devient clair que le résultat de la recombinaison dépend fortement de la géométrie du corps et que la recombinaison d'un corps 3D uniquement à la surface conduira le plus souvent à des résultats étranges.


Pour illustrer cela, regardez l'image ci-dessous. Un corps cuboïde est maillé en utilisant les paramètres standards (tétraèdres, maillage de 2ème ordre). C'est la sous-image en haut à gauche. L'image en haut à droite montre le résultat, quand en plus les éléments sont recombinés seulement à la surface du corps. Le résultat est mauvais car les éléments de surface modifiés ne correspondent pas aux éléments de volume inchangés. Ainsi, {{PropertyData/fr|Recombine All}} seul n'a généralement de sens que pour les maillages 2D. </br>Si nous utilisons maintenant aussi {{PropertyData/fr|Recombine 3D All}}, le résultat est meilleur, voir la sous-image en bas à gauche. Cependant, le résultat ne montre pas une grande différence par rapport au maillage sans recombinaisons. Puisque notre corps est un cuboïde, il est donc judicieux d'utiliser un algorithme de recombinaison qui essaie de créer des cuboïdes également. Et ce résultat est montré dans la sous-image en bas à droite.
Pour illustrer cela, regardez l'image ci-dessous. Un corps cuboïde est maillé en utilisant les paramètres standards (tétraèdres, maillage de 2ème ordre). C'est la sous-image en haut à gauche. L'image en haut à droite montre le résultat, quand en plus les éléments sont recombinés seulement à la surface du corps. Le résultat est mauvais car les éléments de surface modifiés ne correspondent pas aux éléments de volume inchangés. Ainsi, {{PropertyData|Recombine All}} seul n'a généralement de sens que pour les maillages 2D. </br>Si nous utilisons maintenant aussi {{PropertyData|Recombine 3D All}}, le résultat est meilleur, voir la sous-image en bas à gauche. Cependant, le résultat ne montre pas une grande différence par rapport au maillage sans recombinaisons. Puisque notre corps est un cuboïde, il est donc judicieux d'utiliser un algorithme de recombinaison qui essaie de créer des cuboïdes également. Et ce résultat est montré dans la sous-image en bas à droite.


L'algorithme de recombinaison ''Simple'' laissera quelques triangles dans le maillage au cas où la recombinaison conduirait à des quads de mauvaise forme. Dans ce cas, utilisez un algorithme ''full-quad'' de recombinaison qui effectuera automatiquement un maillage plus grossier suivi de la recombinaison, du lissage et de la subdivision. Voir le [https://forum.freecadweb.org/viewtopic.php?f=18&t=20351#p520392 sujet sur le forum]
L'algorithme de recombinaison ''Simple'' laissera quelques triangles dans le maillage au cas où la recombinaison conduirait à des quads de mauvaise forme. Dans ce cas, utilisez un algorithme ''full-quad'' de recombinaison qui effectuera automatiquement un maillage plus grossier suivi de la recombinaison, du lissage et de la subdivision. Voir le [https://forum.freecadweb.org/viewtopic.php?f=18&t=20351#p520392 sujet sur le forum]


[[Image:FEM_Gmsh-Recombination.png|600px]]
[[Image:FEM_Gmsh-Recombination.png|600px]]
{{Caption|Effet de la recombinaison des éléments du maillage. En haut à gauche : maillage standard, En haut à droite : recombinaison uniquement en surface avec l'algorithme '''Simple'''. En bas à gauche : recombinaison en surface et dans le volume avec l'algorithme ''Simple''. En bas à droite : recombinaison en surface et dans le volume avec l'algorithme '''Simple full-quad'''.}}
{{Caption|Effet de la recombinaison des éléments du maillage. </br>En haut à gauche : maillage standard.</br> En haut à droite : recombinaison uniquement en surface avec l'algorithme '''Simple'''.</br> En bas à gauche : recombinaison en surface et dans le volume avec l'algorithme '''Simple'''.</br> En bas à droite : recombinaison en surface et dans le volume avec l'algorithme '''Simple full-quad'''.}}





Latest revision as of 09:15, 27 April 2024

FEM Maillage FEM à partir d'une forme avec Gmsh

Emplacement du menu
Maillage → Maillage FEM à partir d'une forme de Gmsh
Ateliers
FEM
Raccourci par défaut
Aucun
Introduit dans la version
-
Voir aussi
FEM Tutoriel

Description

Pour une analyse par éléments finis, la géométrie doit être discrétisée en un maillage FEM. Cette commande utilise le logiciel Gmsh (qui doit être installé sur le système) pour générer le maillage.

En fonction de votre système d'exploitation et de votre paquetage d'installation, Gmsh peut être fourni avec FreeCAD ou pas. Pour plus d'informations voir FEM Installation des composants requis.

Utilisation

  1. Sélectionnez la forme que vous souhaitez analyser. Pour le volume FEM, il doit s'agir d'un solide ou d'un composé de solides (compsolid). Un composé de solides est nécessaire si votre pièce est composée de plusieurs matériaux. (Un composé de solides peut être créé avec la commande Part Fragments booléens.)
  2. Vous pouvez éventuellement modifier la taille minimale et maximale des éléments (l'autodétection crée souvent des maillages trop grossiers).
  3. Cliquez sur le bouton Appliquer et attendez que la génération du maillage soit terminée.
  4. Fermez la tâche. Vous devriez maintenant voir un nouvel objet FEMMeshGMSH dans votre conteneur d'analyse active.

Une fois que le maillage a été créé, vous pouvez modifier ses propriétés à l'aide de l'éditeur de propriétés. Après avoir modifié une propriété, vous devez rouvrir la boîte de dialogue Gmsh et cliquer sur le bouton Appliquer. (Vous pouvez laisser la boîte de dialogue ouverte pendant la modification des propriétés).

Propriétés

  • DonnéesAlgorithm2D : algorithme permettant de créer des maillages 2D. Les différents algorithmes sont expliqué ici. Pour Delaunay, voir triangulation de Delaunay.
  • DonnéesAlgorithm3D : algorithme de création de maillages 3D. Les différents algorithmes sont expliqué ici.
  • DonnéesCharacteristic Length Max : taille maximale des éléments du maillage. Si elle est définie sur 0.0, la taille sera définie automatiquement. Cette propriété peut également être modifiée dans le dialogue Gmsh dans le champ Max element size.
  • DonnéesCharacteristic Length Min : taille minimale des éléments du maillage. Si elle est définie à 0.0, la taille sera définie automatiquement. Cette propriété peut également être modifiée dans le dialogue Gmsh dans le champ Min element size.
  • DonnéesCoherence Mesh :
    • true (par défaut) ; les noeuds de maillage dupliqués seront supprimés.
    • false
  • DonnéesElement Dimension : dimension des éléments du maillage. Cette propriété peut également être modifiée dans le dialogue Gmsh dans le champ Mesh element dimension.
    • From Shape (par défaut) ; la dimension sera déterminée à partir de la dimension de l'objet maillé.
    • 1D
    • 2D
    • 3D
  • DonnéesElement Order : ordre des éléments de maillage. Cette propriété peut également être modifiée dans le dialogue Gmsh dans le champ Mesh order. introduit dans la version 0.20
    • 1er
    • 2ème (par défaut)
      Remarque: si vous utilisez le solveur Elmer, vous pouvez obtenir cette erreur : ERROR:: GetEdgeBasis: Can't handle but linear elements, sorry.. Cela signifie que l'équation du solveur ne peut pas gérer les mailles de 2ème ordre. Utilisez alors des mailles de 1er ordre, ou consultez la page Wiki de FreeCAD sur l'équation du solveur pour connaître les options possibles pour gérer les mailles de 2ème ordre.
  • DonnéesGeometrical Tolerance : tolérance géométrique pour que le maillage corresponde aux bords de l'objet. La valeur par défaut 0.0 signifie que la valeur par défaut de 1e-8 de Gmsh est utilisée.
  • DonnéesGroups Of Nodes : tous les noeuds et pas seulement les éléments seront sauvegardés pour chaque groupe physique de maillage. Les groupes physiques sont des collections d'entités de maillage (points, courbes, surfaces et volumes). Ils sont identifiés par leur dimension et par un tag. Par exemple, un maillage de la même région de l'objet est étiqueté de la même façon en interne. Ainsi, toutes les surfaces de cette région formeront un seul groupe physique.
  • DonnéesHigh Order Optimize : si et comment les maillages de DonnéesElement Order = 2nd sont optimisés. L'optimisation se fait par une déformation des bordures des éléments.
    introduit dans la version 0.20. Gmsh supporte différents algorithmes d'optimisation. Elastic est un algorithme dans lequel les éléments du maillage sont traités comme une collection de solides viscoélastiques déformables. Les maillages de 1er ordre ne peuvent pas être optimisés car les bords des éléments sont linéaires et ne peuvent pas être déformés.
  • DonnéesMesh Size From Curvature introduit dans la version 0.20 : nombre d'éléments de maillage par fois le rayon de la courbure. Pour obtenir un maillage plus fin au niveau des petits coins ou des trous, cette valeur peut être augmentée pour de meilleurs résultats

Effet de Mesh Size From Curvature; à gauche : réglé sur 12, à droite : désactivé

.

  • DonnéesOptimize Netgen : si le maillage sera optimisé à l'aide du générateur de maillage 3D Netgen pour améliorer la qualité des éléments tétraédriques. Remarque : comme Netgen ne peut créer que des éléments tétraédriques, cette option est ignorée pour les maillages dont la DonnéesElement Dimension n'est pas 3D.
  • DonnéesRecombination Algorithm introduit dans la version 0.20 : algorithme utilisé pour DonnéesRecombine 3D All et également pour DonnéesRecombine All. Pour plus d'informations, voir la section Recombinaison d'éléments et pour les détails techniques, voir la documentation Gmsh.
  • DonnéesRecombine 3D All introduit dans la version 0.20 : applique un algorithme de recombinaison 3D à tous les volumes. Les tétraèdres seront recombinés en prismes, hexaèdres ou pyramides si possible.
  • DonnéesRecombine All : applique un algorithme de recombinaison à toutes les surfaces. Les triangles seront recombinés en quadrangles si possible.
  • DonnéesOptimize Std : optimise le maillage pour améliorer la qualité des éléments tétraédriques.
  • DonnéesSecond Order Linear : option si les noeuds de second ordre (si DonnéesElement Order réglé sur 2nd) et/ou les points de raffinement du maillage sont créés par interpolation linéaire.
    • true ; l'interpolation linéaire est utilisée.
    • false (par défaut) ; l'interpolation curviligne est utilisée.
  • DonnéesSubdivision Algorithm introduit dans la version 1.0 : permet la création d'éléments quadrilatéraux et hexaédriques par subdivision.
    • None : n'utilise aucun algorithme de subdivision
    • All Quadrangles : crée des éléments quadrilatéraux par subdivision
    • All Hexahedra : crée des éléments hexaédriques par subdivision
    • Barycentric : crée des éléments triangulaires par subdivision barycentrique

Remarques

Jacobiens non positifs

Lorsque vous obtenez une erreur de maillage à cause de Jacobiens non positifs, vous pouvez essayer les stratégies suivantes :

  • Définissez DonnéesSecond Order Linear à true mais gardez DonnéesElement Order à 2nd.
  • Définissez DonnéesElement Order à 1st.
  • Utilisez une taille d'élément plus petite en réduisant DonnéesCharacteristic Length Max.
  • Si le solveur ccxtools est utilisé et que le bouton d'exécution est utilisé (pas le panneau des tâches), les nœuds des éléments jacobiens non positifs seront verts.

Croissance du maillage

Au niveau des bords et des petites entités géométriques, le maillage doit être plus petit que dans les zones sans bords. Ainsi, la taille des éléments du maillage augmente en s'éloignant des bords. La stratégie de croissance de Gmsh consiste à croître entre des bords de tailles différentes. La croissance échoue donc lorsqu'une zone a des bords de même taille, comme par exemple ce tube :

Échec de la croissance du maillage car la zone cylindrique est entourée par les mêmes bords.

Pour permettre une croissance raisonnable du maillage, vous devez dans ce cas ajouter un bord à la zone. Dans l'exemple, il s'agit d'un cercle au milieu du cylindre. Le cercle est ajouté dans le cadre d'un composé Part Fragments booléens (pour former un CompSolid), voir l'exemple de the project file.

Croissance notable du maillage grâce à l'arête supplémentaire au milieu de la région cylindrique

Recombinaison d'éléments

Les éléments peuvent être recombinés de deux manières, à la surface des objets de sorte que les triangles seront recombinés en quadrangles si possible et dans le volume des objets de sorte que les tétraèdres seront recombinés en prismes, hexaèdres ou pyramides si possible. En réfléchissant à la géométrie, il devient clair que le résultat de la recombinaison dépend fortement de la géométrie du corps et que la recombinaison d'un corps 3D uniquement à la surface conduira le plus souvent à des résultats étranges.

Pour illustrer cela, regardez l'image ci-dessous. Un corps cuboïde est maillé en utilisant les paramètres standards (tétraèdres, maillage de 2ème ordre). C'est la sous-image en haut à gauche. L'image en haut à droite montre le résultat, quand en plus les éléments sont recombinés seulement à la surface du corps. Le résultat est mauvais car les éléments de surface modifiés ne correspondent pas aux éléments de volume inchangés. Ainsi, DonnéesRecombine All seul n'a généralement de sens que pour les maillages 2D.
Si nous utilisons maintenant aussi DonnéesRecombine 3D All, le résultat est meilleur, voir la sous-image en bas à gauche. Cependant, le résultat ne montre pas une grande différence par rapport au maillage sans recombinaisons. Puisque notre corps est un cuboïde, il est donc judicieux d'utiliser un algorithme de recombinaison qui essaie de créer des cuboïdes également. Et ce résultat est montré dans la sous-image en bas à droite.

L'algorithme de recombinaison Simple laissera quelques triangles dans le maillage au cas où la recombinaison conduirait à des quads de mauvaise forme. Dans ce cas, utilisez un algorithme full-quad de recombinaison qui effectuera automatiquement un maillage plus grossier suivi de la recombinaison, du lissage et de la subdivision. Voir le sujet sur le forum

Effet de la recombinaison des éléments du maillage.
En haut à gauche : maillage standard.
En haut à droite : recombinaison uniquement en surface avec l'algorithme Simple.
En bas à gauche : recombinaison en surface et dans le volume avec l'algorithme Simple.
En bas à droite : recombinaison en surface et dans le volume avec l'algorithme Simple full-quad.