Conseils sur le maillage ======================== Après quelques généralités sur les différents type d'éléments finis, on fournit des conseils sur la réalisation du maillage ainsi que sur ses caractéristiques afin de modéliser correctement la fissure cohésive dans différentes configurations. .. _RefNumPara__355946381: Généralités ----------- D'une manière générale, les modèles cohésifs permettent de représenter une fissure sur un trajet :math:`\Gamma` donné *a priori* . Ces modèles rendent compte de l'évolution mais pas de la direction de la propagation. Il est donc nécessaire de réaliser un maillage compatible avec le trajet de fissure potentiel. Cela consiste à disposer des éléments cohésifs le long de ce trajet. .. image:: images/1000000000000690000004B0A2B9BED2A81643D2.jpg :width: 2.4154in :height: 1.8008in .. _RefImage_1000000000000690000004B0A2B9BED2A81643D2.jpg: **Figure 3.1-a** : Schéma 3D d'un élément :math:`\mathrm{EI}` ou :math:`\mathrm{EJ}` inséré entre deux tétraèdres. Pour les modèles surfaciques (:math:`\mathrm{EJ}` et :math:`\mathrm{EI}` ), en 2D les lèvres de la fissure correspondent aux grands côté des éléments cohésifs (quadrangles dégénérés), en 3D les lèvres sont définies par les faces triangulaires (pour les pentaèdres dégénérés) ou rectangulaires (pour les hexaèdres dégénérés). Pour l'élément à discontinuité interne :math:`\mathrm{ED}` , la fissure passe par le centre de l'élément et est parallèle au deux côtés opposés. Les modèles :math:`\mathrm{EJ}` et :math:`\mathrm{ED}` ont une interpolation linéaire des déplacements, ils sont compatibles avec un maillage volumique linéaire :math:`\mathrm{Q1}` ou :math:`\mathrm{P1}` . L' :math:`\mathrm{EI}` à une interpolation quadratique des déplacements et est compatible avec des mailles volumiques quadratiques :math:`\mathrm{Q2}` ou :math:`\mathrm{P2}` . .. image:: images/1000020000000107000000D61E5111FA669C42AC.png :width: 1.7827in :height: 1.7236in .. _RefImage_1000020000000107000000D61E5111FA669C42AC.png: .. image:: images/10000200000000EF000000C0EE460C64CD4B726B.png :width: 2.0134in :height: 1.6984in .. _RefImage_10000200000000EF000000C0EE460C64CD4B726B.png: .. image:: images/10000200000000F0000000BE2E7E626C2ACB95A3.png :width: 2.0618in :height: 1.7264in .. _RefImage_10000200000000F0000000BE2E7E626C2ACB95A3.png: :math:`\mathrm{EI}` :math:`\mathrm{EJ}` :math:`\mathrm{ED}` **Figure 3.1-b** : Schéma 2D des éléments cohésifs Création du maillage -------------------- On donne dans cette partie les outils disponibles dans *Code_Aster* pour garantir la bonne réalisation d'un maillage avec une fissure cohésive puis on fournit des conseils pour les mailleurs GMSH et Salomé. .. _RefHeading__38161022: .. _RefNumPara__37426815: Outils Code_Aster ~~~~~~~~~~~~~~~~~ Les mailles des éléments cohésifs :math:`\mathrm{EI}` et :math:`\mathrm{EJ}` sont surfaciques, leur orientation est définie par un repère local, il est donc nécessaire que leur connectivité locale soit définie *a priori* . C'est également le cas des :math:`\mathrm{ED}` qui sont volumiques puisqu'ils sont traversés par une discontinuité surfacique. Deux techniques sont disponibles dans *Code_Aster* pour réaliser cette tache. La première, une fois le maillage réalisé, consiste à vérifier qu'elles ont une numérotation locale *ad hoc* (orientation). La seconde consiste à réaliser le maillage des éléments cohésifs à partir de deux groupes de nœuds en regard (création automatique). *Remarques* **:** * *L'épaisseur des éléments* :math:`\mathrm{EJ}` *et* :math:`\mathrm{EI}` *n'a pas d'influence sur la solution. Cette dernière peut toutefois modifier les dimensions de la structure, l'utilisateur doit réaliser le maillage en conséquence. Lorsque cela est possible on conseille de réaliser des mailles d'épaisseur nulle.* * *Pour le post-traitement en 2D une petite épaisseur peut toutefois faciliter la visualisation des variables aux points de gauss (ce problème ne se pose pas en 3D car on visualise une surface).* * *En revanche, les* :math:`\mathrm{ED}` *ont nécessairement une épaisseur non nulle. On préconise de choisir une taille du même ordre de grandeur que celle des éléments non cohésifs environnants.* *Orientation* Le mot clé ORIE_FISSURE (commande MODI_MAILLAGE) permet de s'assurer de la bonne numérotation locale des mailles et de renuméroter correctement si nécessaire. Pour plus de détails sur l'utilisation de cette procédure voir [:external:ref:`U4.23.04 `]. On conseille d'utiliser systématiquement cette commande qui fonctionne en 2D et en 3D (pourvu que l'épaisseur des mailles soit non nulle) et quel que soit le type d'éléments cohésifs (linéaire ou quadratique). On donne un exemple d'utilisation pour la couche cohésive 'JOINT' : MA=MODI_MAILLAGE(reuse =MA, MAILLAGE=MA, **ORIE_FISSURE** =_F(GROUP_MA='JOINT'),) *Création automatique* Une autre possibilité : CREA_FISS permet la création de mailles cohésives à partir de deux groupes de nœuds (en regard ou confondus deux à deux). Certaines précautions sont nécessaires pour l'utilisation de cette commande, il est donc conseillé de lire la documentation de CREA_MAILLAGE [:external:ref:`U4.23.02 `]. Cette fonctionnalité est disponible en 2D (l'équivalent 3D est possible avec un python Salomé, voir :ref:`12 ` ci-dessous), en voici un exemple à partir des groupes de nœuds GN1 et GN2. MA = CREA_MAILLAGE( MAILLAGE = MA_INI, **CREA_FISS** = ( _F(NOM='JOINT', GROUP_NO_1='GN1', GROUP_NO_2='GN2', PREF_MAILLE='MJ'), )) *Remarques* : * Une fois la commande CREA_FISS réaliséeil n'est pas nécessaire de passer la moulinette ORIE_FISSURE si on réalise un maillage linéaire. * *Si l'on souhaite utiliser cette procédure avec les éléments d'interface (donc maillage quadratique), il faut dans un premier temps réaliser la procédure précédente sur un maillage linéaire, puis passer en quadratique (* LINE_QUAD/TOUT='OUI') *et enfin repasser la* *moulinette* ORIE_FISSURE *sur la couche cohésive car la commande* LINE_QUAD *a peut être modifié la numération locale.* Enfin, des outils sont en cours de développement pour faciliter la création de mailles cohésives. Notamment dans Salomé version 5 (voir :ref:`12 ` ). Conseils GMSH ~~~~~~~~~~~~~ Avec le mailleur libre GMSH, il est assez facile de construire une couche d'éléments finis cohésifs destinés à être des éléments de joint ou d'interface quelle que soit la nature du maillage volumique. Il suffit d'utiliser la commande «Extrude» et de prendre quelques précautions. *En 2D:* on extrude une ligne n d'un bord du domaine, d'une épaisseur ep (petite mais non nulle) dans la direction -Y, et on précise que l'on ne souhaite qu'une couche d'éléments avec le mot clé «Layers», enfin on ajoute «Recombine» pour que le mailleur crée des quadrangles (triangles par défaut). ep=0.001 NbCouche = 1; JOINT[]=Extrude Line {n, {0,-ep,0}} { Layers{NbCouche,1}; Recombine; };; Ensuite on peut définir une «Physical Line» de la nouvelle ligne crée ou une «Physical Surface» de la surface crée de la façon suivante : Physical Line(a) = {JOINT[0]}; Physical Surface(b) = {JOINT[1]}; La première peut servir par exemple à l'application de conditions aux limites de symétrie, la seconde correspond à la couche d'éléments cohésifs. Si on souhaite inclure la fissure à l'intérieur d'un domaine, on procède comme précédemment, puis on extrude la nouvelle ligne JOINT[0] pour créer la seconde partie du volume. *En 3D* : on procède de la même manière avec l'extrusion d'une surface frontière du domaine, le «Recombine» permet de créer des hexaèdres si la trace du maillage sur la surface extrudée comporte des quadrangles et des pentaèdres si cette dernière comporte des triangles. Pour finir, les «physical» crées dans le .geo sont utilisé dans le fichier de commande .comm de façon habituelle : Physical Line(i) correspond à 'GMi' si le maillage est au format .msh Physical Surface(j)correspond à 'GMj' si le maillage est au format .msh Physical Line(k) correspond à 'G_1D_k' si le maillage est au format .med Physical Volume(l)correspond à 'G_3D_l' si le maillage est au format .med *Attention* **:** *Il existe un bug dans GMSH 2.3 pour l'extrusion 3D avec l'algorithme de maillage* *'Tetgen+Delaunay'. Cet algorithme est celui proposé par défaut, il est donc nécessaire de le modifier dans le menu Option/mesh/General et choisir 3D algorithm='Netgen'. Ce bug est répertorié sur le site web de GMSH et devrait être modifié dans les versions futures.* *Remarques* **:** * *Les mailles créées par GMSH sont topologiquement correctes mais la numérotation locale des nœuds n'est pas nécessairement bien réalisée. Dans Code_Aster cette dernière doit être définie de manière spécifique afin de distinguer l'orientation des élément cohésifs. Après la lecture du maillage au format .msh ou .med il est donc nécessaire de passer par un* MODI_MAILLAGE *avec la commande* ORIE_FISSURE *qui réalise cette l'opération de renumérotation des éléments cohésifs de manière automatique (voir partie* :ref:`10 ` *).* * *Notons que les extrusions évoquées ci-dessus sont aussi facilement réalisables de façon interactive à l'aide de la souris. Une fois le .geo généré automatiquement, il faut toutefois ajouter le «* Recombine *» pour créer des quadrangles en 2D ou des hexaèdre/pentaèdres en 3D.* .. _RefNumPara__364563661: Conseils Salomé ~~~~~~~~~~~~~~~ Dans Salomé, il est possible d'extruder une couche d'éléments surfaciques d'un bord du domaine. Cela permet de créer des mailles cohésives dont on changera la connectivité si nécessaire à l'aide de la commande ORIE_FISSURE (voir partie :ref:`10 ` ). Des travaux sont en cours pour réaliser le maillage d'éléments cohésifs entre deux volumes ou le long d'une couche surfacique dans un volume. La commande python DoubleNodeGroups [1]_ permet de dédoubler les nœuds d'un groupe de mailles surfaciques ou d'un groupe de nœuds donné (voir manuel de référence du module MESH). Le tissage des éléments cohésifs entre ces deux groupes de nœuds peut ensuite être réalisé en 2D dans le fichier de commande à l'aide du mot clé CREA_FISS (voir partie :ref:`10 ` ) ou à partir d'un script python [2]_ en 3D. *Remarque* **:** *Quelle que soit la technique adoptée pour mailler le trajet de fissure potentiel il est nécessaire que celui-ci traverse de part et d'autre la structure. En effet, il n'existe pas d'éléments finis cohésifs destinés à modéliser une pointe de fissure (triangle par exemple) qui ne puisse se propager. Cela n'aurait d'ailleurs pas vraiment de sens puisque contraire à la logique de la modélisation d'un trajet potentiel.* Cas des configurations géométriques avancées ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lorsqu’on emploie les éléments finis d’interface (EI), la présence de deux familles de degrés de liberté, les déplacements et les forces cohésives (augmentées) complique la gestion des configurations géométriques avancées. Cette expression renvoie à des situations dans lesquelles plusieurs interfacesse croisent, débouchent l’une sur l’autre, débouchent sur une condition aux limites cinématiques ou encore présentent une frontière dans le volume et non pas sur un bord de la structure. Des conseils sur la manière de mailler de telles configurations ont été donnés dans la note [:ref:`bib9 `].On y observe que ce sont bien les nœuds qui portent les degrés de liberté correspondant aux forces cohésives qui nécessitent un soin particulier. Modélisation de la zone cohésive -------------------------------- Une fissure CZM est définie par trois zones, la première correspond à une fissure libre de contrainte, la seconde, appelée zone cohésive, où les forces de cohésion sont non nulles et enfin une zone saine (ou zone de fissuration potentielle) où la contrainte d'amorçage n'a pas été atteinte (voir figure 3.3). La zone cohésive permet de réaliser une transition progressive du matériau sain à une vraie fissure. La taille de cette dernière est liée à la longueur caractéristique :math:`{G}_{c}/{\sigma}_{c}` du modèle cohésif, elle s'adapte pour supprimer la singularité des contraintes en pointe de fissure. Plus cette longueur est faible, plus la taille de la zone cohésive sera réduite. A la limite, si celle-ci tend vers zéro, la zone cohésive disparaît et on se retrouve dans le cas de la mécanique de la rupture classique avec la possibilité théorique d'avoir des contraintes infinies en pointe de fissure. Formellement, cela revient à prendre une contrainte à la rupture :math:`{\sigma}_{c}` infinie. On souligne ici l'importance tant du point de vue mécanique que numérique de simuler correctement cette zone cohésive. D'une manière générale et quel que soit le type de calcul, on conseille de mailler suffisamment cette zone de telle sorte qu'elle soit composée d'au moins quatre ou cinq éléments finis cohésifs. Cela permet de représenter finement l'évolution de la fissure sur un plan mécanique mais permet également d'éviter des problèmes de convergence numérique liés à une discrétisation trop grossière de cette zone à fort gradient de contrainte. .. image:: images/10000000000004A1000002B578234E15122F2FAF.jpg :width: 3.5654in :height: 2.111in .. _RefImage_10000000000004A1000002B578234E15122F2FAF.jpg: **Figure 3.3** : Schéma de la fissure cohésive. Dans la littérature [:ref:`bib7 `] il existe une estimation de la taille de la zone cohésive :math:`{S}_{\mathrm{zc}}` pour une fissure dans un matériau infini élastique : :math:`{S}_{\mathrm{zc}}\simeq \frac{E}{1-{\nu}^{2}}\frac{{G}_{c}}{{\sigma}_{c}^{2}}` avec :math:`E` module d'Young, :math:`\nu` coefficient de Poisson. Cette valeur est donnée à titre indicatif pour estimer la taille de zone cohésive, toutefois cette dernière peut varier avec différents paramètres du problème mécanique. Définition d'une pré-fissure cohésive ------------------------------------- Dans la plupart des cas, on dispose des éléments cohésifs dans un plan de fissuration ou dans le prolongement d'une fissure existante. Cette dernière est en général représentée par une surface libre. Toutefois, dans certains cas de figure, il peut être utile de disposer des mailles cohésives sur une fissure initiale. Ces dernières peuvent par exemple servir d'éléments de contact (petites déformations) ou servir à définir des fronts de fissuration initiaux plan ou semi-elliptiques par exemple. Pour définir une fissure initiale, il est nécessaire de construire un maillage avec deux zones d'éléments cohésifs contiguës, l'une pour la pré-fissure et l'autre la fissure potentielle. L'idée consiste ensuite à imposer les variable internes de la pré-fissure de telles sorte que celles-ci correspondent à une zone libre de contrainte, et de ne pas modifier celles de la fissure potentielle (i.e. les imposer à 0). Pour ce faire, on utilise des commandes CREA_CHAMP pour construire un champ de variable interne aux point de gauss. Ce dernier est ensuite utilisé comme état initial en entrée dans STAT_NON_LINE avec la commande ETAT_INIT. Notons qu'il est nécessaire de définir l'ensemble des variables internes de la structure, y compris celles de la partie volumique. Dans le cas d'un matériau élastique cette opération est triviale, en non linéaire il n'est pas envisageable de les connaître facilement sauf à les imposer nulles ce qui n'est pas forcément réaliste. *Remarque* **:** *Il n'est pas possible de définir une fissure initiale en imposant les paramètres matériaux* :math:`{\sigma}_{c}` *et* :math:`{G}_{c}` *nuls.* Multi-fissuration ----------------- Il est possible de modéliser plusieurs fissures avec tous les types d'éléments cohésifs pourvu que le maillage soit réalisé en conséquence. Avec l'élément ED on peut par exemple disposer des couches d'éléments afin de prendre en compte un réseau de fissures parallèles (voir exemple [:ref:`bib5 `]). Pour les élément EJ et EI le test de la plaque trouée (ssnp133 [:external:ref:`V6.03.133 `]) permet de modéliser l'avancée simultanée de deux fissures. Toutefois, avec ce type d'approche on déconseille de disposer des éléments cohésifs partout (i.e. sur chaque arrête du maillage). Outre la difficulté pour réaliser un tel maillage, de nombreux travaux dans littérature montrent que les résultats du trajet de fissuration sont fortement dépendants du maillage. De plus, pour les EJ, la régularisation de la loi cohésive peut également contribuer à la variabilité des résultats et jouer un rôle néfaste sur la qualité de la solution. Enfin cela pose la question non triviale des conditions à respecter à l'intersection de deux fissures. Aucun traitement particulier n'est réalisé pour les modèles présentés ici. .. [1] Disponible uniquement en version 5 de Salomé .. [2] Une maquette en cours de validation est disponible chez l'auteur de cette documentation