2Comment fonctionne HOMARD ?. Code_Aster HOMARD
Code_Aster
Titre :
Utilisation des indicateurs d’erreur et stratégies[...]
Responsable :
Josselin DELMAS
2 Comment fonctionne HOMARD ?
Version default
Date :
28/02/2013
Page :
4/34
Clé :
U2.08.01
Révision :
10596
HOMARD est un logiciel développé par EDF R&D. On en trouve une présentation sur son site Web
[bib1] et dans sa documentation propre [bib2].
2.1
Le périmètre d’utilisation de HOMARD
La commande de Code_Aster qui permet d’accéder à ces fonctions est MACR_ADAP_MAIL. Elle est documentée dans [bib3].
HOMARD sait traiter des maillages en 2 ou 3 dimensions, en degré 1 ou degré 2 et comportant les
éléments suivants :
• mailles-points
• segments
• triangles
• quadrangles
• tétraèdres
• hexaèdres
Ces éléments peuvent être présents simultanément. Par exemple, HOMARD saura adapter un maillage comportant des triangles et des quadrangles.
Les nœuds acceptés sont évidemment les nœuds qui sont les sommets des mailles, ce qui correspond
à la description classique « en degré 1 ». Si les mailles sont décrites « en degré 2 », c’est-à-dire avec présence de nœuds au milieu des arêtes, ces nœuds complémentaires sont gérés. En revanche, il ne peut pas y avoir cohabitation de mailles décrites en degré 1 et de mailles décrites en degré 2. Enfin,
HOMARD sait prendre en compte des nœuds isolés, qui n’appartiendraient à aucune définition de mailles : ils ressortiront tels quels du processus d’adaptation.
Un cas particulier : les pentaèdres. A la date de rédaction de ce document, HOMARD sait traiter des maillages comportant des pentaèdres mais uniquement pour faire du raffinement uniforme. Le raffinement libre sera disponible en fin 2011.
2.2
Un mot sur les modes de découpage des éléments
Il est intéressant ici de connaître le mode de découpage des mailles dans HOMARD afin de ne pas
être surpris éventuellement par le nouveau maillage. Nous donnerons uniquement un exemple en 2D ; pour le 3D, le lecteur consultera le site Web de HOMARD [bib1].
Parmi les diverses techniques possibles pour adapter un maillage, HOMARD utilise le raffinement et le déraffinement par découpage des mailles.
Le découpage standard est celui qui s'applique à toute maille au cœur d'une zone à raffiner : un
triangle est découpé en quatre triangles (Figure 2.2-a) et un quadrangle est découpé en quatre
quadrangles (Figure 2.2-b ). En 3 dimensions, un tétraèdre est découpé en huit tétraèdres, un
hexaèdre en huit hexaèdres, un pentaèdre en huit pentaèdres. Chaque découpage prend appui sur les milieux des arêtes bordant la maille.
Figure 2.2-a : Découpage standard des triangles
Manuel d'utilisation Fascicule u2.08 : Fonctions avancées et contrôle des calculs
Copyright 2015 EDF R&D - Document diffusé sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)
Code_Aster
Titre :
Utilisation des indicateurs d’erreur et stratégies[...]
Responsable :
Josselin DELMAS
Version default
Date :
28/02/2013
Page :
5/34
Clé :
U2.08.01
Révision :
10596
Figure 2.2-b : Découpage standard des quadrangles
Comment HOMARD gère-t-il la conformité ?
Partons d’une situation comme celle de la Figure 2.2-c représentant un maillage bidimensionnel formé
de quadrangles et de triangles. L’indicateur d’erreur aura demandé un raffinement sur les zones hachurées.
Figure 2.2-c : Exemple de demande de raffinement
La stricte application du principe de découpage des mailles désignés par l’indicateur d’erreur produit le
Figure 2.2-d : Exemple de raffinement non conforme brut
Pour gérer la conformité, la règle est la suivante :
• Si une maille non découpée se voit attaquée par au moins deux côtés, elle est également coupée en quatre ;
• Si une maille se voit attaquée par un seul côté :
Manuel d'utilisation Fascicule u2.08 : Fonctions avancées et contrôle des calculs
Copyright 2015 EDF R&D - Document diffusé sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)
Code_Aster
Titre :
Utilisation des indicateurs d’erreur et stratégies[...]
Responsable :
Josselin DELMAS
Version default
Date :
28/02/2013
Page :
6/34
Clé :
U2.08.01
Révision :
10596
• s’il s’agit d’un triangle, il est découpé en deux,
• s’il s’agit d’un quadrangle, il est découpé en trois triangles
Ce qui donne pour notre exemple :
Figure 2.2-e : Mise en conformité finale
Commentaire à propos de la qualité des maillages issus du découpage :
Au cours du découpage standard, les triangles produits sont rigoureusement identiques aux triangles de départ. Il y a une parfaite homothétie donc identité des qualités de maillages. Pour les quadrangles, la situation n’est pas aussi simple. Si le quadrangle est un parallélogramme, les quadrangles produits sont également homothétiques. C’est donc le cas pour un carré ou un rectangle. La qualité de maillage reste alors la même. En revanche, dès que le quadrangle est quelconque, les 4 fils ne ressemblent jamais au père : la qualité bouge.
Pour les découpages de mise en conformité finale, il est flagrant qu’ils modifient la qualité des mailles.
Un triangle équilatéral aura deux fils aplatis ; un tétraèdre régulier aura des fils effilés. Inversement un triangle aplati et coupé par son grand côté aura deux fils assez réguliers, et ainsi de suite. Nous avons donc des situations favorables et d’autres qui le sont moins. Si nous ne faisons rien, nous courrons le risque de voir se dégrader la qualité du maillage. Imaginons en effet le cas d’une zone où les indications de raffinement conduiraient à subdiviser un triangle de mise en conformité. Au bout de quelques adaptations, la qualité du maillage serait complètement dégradée. HOMARD gère ces difficultés par un algorithme spécial qui garantit que les angles ne s’aplatissent pas au fil des itérations.
Nous limitons ainsi les modifications du niveau de qualité du maillage : la qualité du maillage, à un niveau quelconque d’adaptation, reste comparable à la qualité du maillage de départ.
Nous renvoyons le lecteur à [bib2] pour une description fine de cette analyse de la qualité de maillage, illustrée par des cas types.
2.3
Les différents modes d’adaptation
Il existe plusieurs choix pour piloter une adaptation à travers la commande MACR_ADAP_MAIL documentée dans [bib3].
1) En premier lieu, on trouve les modes d’adaptations qui sont pilotées par un champ ou la dérivée de ce champ, par exemple un indicateur d’erreur (mots clé ‘RAFFINEMENT’, ‘DERAFFINEMENT’ et
‘RAFF_DERA’). Ce champ peut être exprimé sur les nœuds ou les éléments. En d’autres termes, la décision de (dé) raffiner une maille se prend en fonction de la valeur de ce champ calculé auparavant sur cette maille ou du saut de ce champ d'une maille à ses voisines. Le choix des seuils de raffinement ou de déraffinement se fait sous trois formes :
• une valeur seuil de ce champ en absolu (mot clé ‘CRIT_RAF_ABS’) : on raffinera toutes les mailles où la valeur du champ est supérieure à cette valeur seuil.
• une valeur du champ en relatif (mot clé ‘CRIT_RAF_REL’) : on raffinera les mailles où la valeur du champ est supérieure à x% de la valeur maximale.
Manuel d'utilisation Fascicule u2.08 : Fonctions avancées et contrôle des calculs
Copyright 2015 EDF R&D - Document diffusé sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)
Code_Aster
Titre :
Utilisation des indicateurs d’erreur et stratégies[...]
Responsable :
Josselin DELMAS
Version default
Date :
28/02/2013
Page :
7/34
Clé :
U2.08.01
Révision :
10596
• une fraction d’éléments (mot clé ‘CRIT_RAF_PE’) : on raffinera les x% de mailles où la valeur du champ est le plus important.
Remarque :
Quand on applique une option de déraffinement, on ne fait que revenir en arrière sur des raffinements antérieurs. Il faut comprendre cette option comme du dé-raffinement. En
particulier, on ne pourra jamais obtenir un maillage plus grossier que le maillage initial.
Si le champ de pilotage est défini sur les nœuds, HOMARD coupera en deux toutes les arêtes dont les nœuds ont des valeurs de champ supérieures au critère demandé.
Selon les types de problèmes, l’une ou l’autre des stratégies est préférable ; c’est le savoir-faire propre
à chaque discipline qui permet de définir des bonnes pratiques. Il faut néanmoins être prudent et ne pas demander trop de raffinement quand on travaille avec des maillages conformes. En effet, le seuil va déclencher le raffinement obligatoire des mailles désignées. Mais pour assurer la conformité, il y aura nécessairement des raffinements supplémentaires pour relier les zones de différents niveaux. Au final, on aura toujours plus de mailles découpées que celles qui avaient été demandées initialement.
L’expérience nous a montré qu’il est plus efficace pour la précision de la solution d’enchaîner 3 raffinements de suite en demandant de raffiner 1% des mailles plutôt que de ne faire qu’un seul raffinement en demandant 5%.
1) En second lieu, on peut décider de raffiner le maillage dans des zones géométriques définies par des boîtes (mot clé 'RAFF_DERA_ZONE'). Toutes les mailles dont un des nœuds est présent dans l’une de ces boîtes seront raffinées. Cela permet de faire des raffinements a priori, sans avoir fait de calcul. Les zones sont des rectangles ou des cercles en 2D, des parallélépipèdes ou des sphères en 3D. Il est possible de définir plusieurs boîtes, se superposant ou non.
1) Enfin, on peut activer une adaptation uniforme d’un maillage (mot clé 'RAFFINEMENT_UNIFORME' et 'DERAFFINEMENT_UNIFORME'). En d’autres termes, toutes les mailles du maillage sont traitées de la même manière, sans tenir compte d’un champ servant de critère pour (dé)raffiner.
Remarque :
Les caractéristiques des mailles sont préservées : une maille qui est découpée transmet à ses filles ses propriétés d’orientation ou d’appartenance à des sous-domaines. C’est en particulier vrai pour les mailles de bord qui servent à appliquer les chargements : le groupe qui les définit est restitué et il est inutile de les réorienter
2.4
Autres options possibles
Les différentes options qui peuvent être activées dans MACR_ADAP_MAIL :
• HOMARD met à jour des champs réels de l’ancien vers le nouveau maillage lorsqu’ils sont définis sur les nœuds (mot clé MAJ_CHAM). Cela permet au cours d’un calcul transitoire de repartir de la solution précédemment calculée mais exprimée sur le nouveau maillage. De manière générale, il est d’ailleurs recommandé de mettre à jour les champs via HOMARD plutôt que de les projeter d’un maillage sur l’autre ensuite dans le logiciel de calcul. En effet, HOMARD mémorise la filiation de tous les nœuds et mailles : il ne fera donc que les calculs strictement nécessaires et uniquement par des formules analytiques. Actuellement, on ne peut pas mettre à jour des champs aux points de Gauss (comme les variables internes par exemple).
• HOMARD possède des fonctions d’analyse de maillage : connexité (le logiciel informe sur le nombre de blocs disjoints qui forment le maillage global), taille (calcul des tailles des différents sous-domaines 1D, 2D ou 3D), qualité (détermination de la qualité des éléments 2D ou 3D, valeurs extrêmes et répartition), interpénétration (contrôle du non recouvrement d’éléments). Ces fonctions sont activables au cours d’une adaptation. Elles peuvent aussi être utilisées hors de toute adaptation pour vérifier un maillage. Elles aident l’utilisateur à vérifier que son maillage est correct et à repérer des erreurs dans sa réalisation. On peut retrouver ces fonctionnalités sur la qualité du maillage dans la commande MACR_INFO_MAIL [bib4].
• L’utilisateur a la possibilité de faire du suivi de frontière (mots-clés MAILLAGE_FRONTIERE et/ou
FRONTIERE_ANALYTIQUE). Si une des frontière du domaine de calcul est courbe et qu’une maille touchant cette frontière est raffinée, HOMARD saura placer les nouveaux nœuds sur le « vrai »
Manuel d'utilisation Fascicule u2.08 : Fonctions avancées et contrôle des calculs
Copyright 2015 EDF R&D - Document diffusé sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)

Enlace público actualizado
El enlace público a tu chat ha sido actualizado.