FEM Maillage FEM à partir d'une forme avec Gmsh

From FreeCAD Documentation
Revision as of 14:38, 22 August 2021 by David69 (talk | contribs)

FEM Maillage MEF à partir d'une forme avec Gmsh

Emplacement du menu
Mesh → Maillage MEF à partir d'une forme avec 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 FEM Mesh. Cette commande utilise le programme Gmsh (qui doit être installé sur le système) pour calculer le maillage.

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 Édition → Préférences → FEM → Gmsh pour définir le chemin vers le gmsh.exe.

utilisation

  1. 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 Fragments booléens.)
  2. 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.)
  3. Cliquez sur le bouton Apply et attendez que le calcul du maillage soit terminé.
  4. Ferme 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 le 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
    • 1st pour 1er
    • 2nd pour 2ème (par défaut)
  • 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.

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

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 :

É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 l'arête 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.