v6.03.119 FORMA20 - Maillage adaptatif mécanique sur une poutre en flexion#

Résumé:

Dans ce cas-test, il s’agit de s’assurer de la non-régression du TP n°1 associé aux cours «Indicateurs d’erreur et adaptation de maillage; Etat de l’art et implantation dans Code_Aster» de la formation «Analyse statique non-linéaire avec Code_Aster ».

En fait, on distort un calcul élastique sur une poutre métallique en flexion en modélisation contrainte plane. On le fait converger uniformément via l’outil de raffinement-déraffinement HOMARD encapsulé dans MACR_ADAP_MAIL, puis librement en couplant le processus à une carte d’erreurs spatiales localisée sur chaque élément fini.

Du point de vue de la validation informatique , ce cas test permet bien sûr de tester la non-régression de différents couplage calculs de carte d’erreurs/procédure de raffinement-déraffinement en mécanique, mais aussi les options de «pré et post-traitements» de ces calculs (lissage des contraintes aux nœuds, passage d’une erreur par élément à une erreur aux nœuds par élément).

Chaque modélisation est associée à une question du TP et on en a retranscrit l’essentiel des éléments de correction . L’intégralité du texte du TP étant disponible sur le site internet http://www.code-aster.com/utilisation/formations.

Solution de référence#

Méthode de calcul utilisée pour les solutions de référence#

Sur un tel cas de figure, il n’est pas possible d’exhumer une solution analytique! La solution de référence utilisée pour les calculs d’erreurs sur la flèche et sur l’énergie potentielle de déformation est en fait une solution approchée obtenue après une série de quatre raffinements uniformes (sur le même maillage mais en TRIA6).

Cette procédure de raffinement uniforme peut être pilotée par une boucle PYTHON et l’opérateur MACR_ADAP_MAIL option UNIFORME. Les deux premières modélisations sont justement une illustration de cette fonctionnalité.

Résultat de référence#

Energie potentielle de déformation

\(=0.102242J\)

Flèche

\(=–0.0614777m\)

Incertitude sur les solutions#

Ils ne s’agit que de solutions approchées obtenues sur un maillage «quasi-convergé».

Références bibliographiques#

    1. DESROCHES «Estimateurs d’erreur de Zhu-Zienkiewicz en élasticité 2D». [R4.10.01], 1994.

    1. DESROCHES «Estimateur d’erreur en résidu». [R4.10.02], 2000.

    1. BOITEAU «Cours et TP Indicateurs d’erreur & Adaptation de maillage; Etat de l’art et implantation dans le Code_Aster ». http://www.code‑aster.com/utilisation/formations, 2002.

    1. BOITEAU «FORMA05: Maillage adaptatif thermo-mécanique sur une culasse fissurée». [V6.03.120], 2002.

Modélisation A#

Caractéristiques de la modélisation#

Le maillage est réalisé avec des éléments de type TRIA3. Le calcul est fait en élasticité linéaire avec l’opérateur STAT_NON_LINE.

On calcule les cartes d’erreurs spatiales de l’indicateur de Zhu-Zienkiewicz version 1 (ERZ1_ELEM) et de l’indicateur en résidu pur (ERME_ELGA). Préalablement il faut avoir calculé le champ de contraintes aux nœuds (SIGM_ELNO) et, pour post-traiter le carte d’erreur (via GIBI), il faut la transformer d’un CHAM_ELEM par élément à un CHAM_ELEM aux nœuds par élément. On détermine aussi la valeur de la flèche (POST_RELEVE_T) et de l’énergie potentielle de déformation (POST_ELEM).

Le tout est placé dans une boucle PYTHON permettant la mise en place d’une procédure de raffinement uniforme en nb_calc=4 niveaux (via MACR_ADAP_MAIL option UNIFORME=’RAFFINEMENT’).

On peut ainsi constater la convergence des valeurs de flèche et d’énergie, la majoration de leurs erreurs relatives par rapport aux erreurs fournies par les indicateurs (elles mêmes en relatif et sur toute la structure), les variations des indices d’efficacité des indicateurs et leur bonne vérification de l’hypothèse de saturation.

Afin d’illustrer des conseils de «bonne pratique» pour la qualité des études, sur les aspects géométrie maillée, maillage proprement dit et type d’éléments finis, on utilise les options adhoc de LIRE_MAILLAGE, MACR_ADAP_MAIL et MACR_INFO_MAIL.

../../../../_images/1000000000000368000001D4CBCBAE8AEFF6E956.png

Figure 3.1-a: Isovaleurs de l’erreur en résidu (composante absolue ERREST)sur le maillage initial.

../../../../_images/100000000000028A000001DF5E30CC8354DB5E65.png

Figure 3.1-b: Décroissances des erreurs relatives de l’énergie de déformationet de la flèche comparées à celles de la composante totale relative des indicateurs.

Caractéristiques du maillage#

Initialement : 61 TRIA3, 15 SEG2, 48 nœuds

Après un raffinement uniforme: 244 TRIA3, 30 SEG2, 156 nœuds

Après deux raffinements uniformes: 976 TRIA3, 60 SEG2, 555 nœuds

Après trois raffinements uniformes: 3904 TRIA3, 120 SEG2, 2085 nœuds

Après quatre raffinements uniformes: 15616 TRIA3, 240 SEG2, 8073 nœuds

Grandeurs testées et résultats#

On teste les valeurs des erreurs relatives en flèche et en énergie potentielle de déformation par rapport aux solutions de référence (cf. [§2.2]). Et ce, sur le maillage initial et après quatre raffinements uniformes. Les tests se devant d’être multi-plateformes, la tolérance relative, qui est sur les erreurs initiales fixée à 10–6 %, est volontairement relâchée sur les erreurs après quatre raffinements: 10–4%.

Ces tests sont effectués sur des variables PYTHON (via TEST_FONCTION) préalablement insérées dans des fonctions ASTER (via FORMULE).

Identification

Valeurs Code_Aster

Valeurs de référence

Tolérance

Ecart relatif (en %)

Variable ASTER

Variable PYTHON

Ep(0)

39.406851 %

idem

10–6%

–1.26 10–12 ~ 0%

ERREEN0

eren0

Ep(4)

0.274116 %

idem

10–4%

1.5 10–12 ~ 0%

ERREEN4

eren4

Flèche(0)

39.244715 %

idem

10–6%

1.09 10–13 ~ 0%

ERREFL0

erfl0

Flèche(4)

0.270896 %

idem

10–4%

–2.25 10–13 ~ 0%

ERREFL4

erfl4

Ce qu’il fallait retenir de cette partie du TP…#

MACR_INFO_MAIL est donc complémentaire de LIRE_MAILLAGE(VERI_MAIL et INFO)et POST_ELEM. Leurs «efforts» conjugués peuvent donc permettre de:

  • vérifier la concordance du maillage avec la géométrie initiale (en masse , en dimension, en surface et en volume),

  • lister les GROUP_MA et GROUP_NO, primordiaux pour une bonne modélisation des conditions aux limites,

  • diagnostiquer d’éventuels problèmes (symétrisation ou connexité, éléments d’ébauche encore présents dans le modèle, prise en compte de conditions aux limites sur des surfaces ou lignes de mauvaises dimensions, interpénétration d’éléments),

  • évaluer la qualité du maillage d’un point de vue strictement élément fini.

../../../../_images/Object_580.svg

le proche possible de 1

Par exemple, un critère empirique pourrait être:

  • au moins 50% des éléments finis avec un critère de qualité en dessous de 1.5,

  • au moins 90%, en dessous de 2.

L’enchaînement «opérateurs thermo-mécaniques/MACR_ADAP_MAIL OPTION ‘UNIFORME’»permet de faire converger proprement, automatiquement et facilement un maillage . Il faut cependant prendre garde au nombre de degrés de liberté engendrés qui peut rapidement devenir prohibitif !

Modélisation B#

Caractéristiques de la modélisation#

Identique à la modélisation A, mais en TRIA6.

Caractéristiques du maillage#

Initialement : 61 TRIA6, 15 SEG3, 156 nœuds

Après un raffinement uniforme: 244 TRIA6, 30 SEG3, 555 nœuds

Après deux raffinements uniformes: 976 TRIA6, 60 SEG3, 2085 nœuds

Après trois raffinements uniformes: 3904 TRIA6, 120 SEG3, 8073 nœuds

Après quatre raffinements uniformes: 15616 TRIA6, 240 SEG3, 31761 nœuds

Grandeurs testées et résultats#

On teste les valeurs des erreurs relatives en flèche et en énergie potentielle de déformation par rapport aux solutions de référence (cf. [§2.2]). Et ce, sur le maillage initial et après quatre raffinements uniformes. Les tests se devant d’être multi-plateformes, la tolérance relative, qui est sur les erreurs initiales fixée à 10–6 %, est volontairement relâchée sur les erreurs après quatre raffinements: 10–4%.

Ces tests sont effectués sur des variables PYTHON (via TEST_FONCTION) préalablement insérées dans des fonctions ASTER (via FORMULE).

Identification

Valeurs Code_Aster

Valeurs de référence

Tolérance

Ecart relatif (en %)

Variable ASTER

Variable PYTHON

\({E}_{p}(0)\)

0.125637 %

idem

10–6%

–2.65 10–12 ~ 0%

ERREEN0

eren0

\({E}_{p}(4)\)

7.015631 10–4%

idem

10–4%

4.71 10–13 ~ 0%

ERREEN4

eren4

Flèche(0)

0.106929 %

idem

10–6%

1.6 10–12 ~ 0%

ERREFL0

erfl0

Flèche(4)

1.546674 10–4%

idem

10–4%

–3.33 10–13 ~ 0%

ERREFL4

erfl4

Ce qu’il fallait retenir de cette partie du TP…#

Les éléments \({P}_{1}\) sont déconseillés en mécanique. La bonne pratique est plutôt: \({P}_{1}\) lumpé en thermiqueet \({P}_{2}\) (éventuellement sous-intégrés) en mécanique (pour ne pas artificiellement privilégier la composante thermique du champ de déformation et essayer d’éviter des oscillations spatio-temporelles du champ de température et sa violation du principe du maximum).

Le choix du type d’élément fini prime sur la qualité des mailles sur lesquelles s’appuient cet élément.

Modélisation C#

Caractéristiques de la modélisation#

Identique à la modélisation A avec les modifications suivantes:

  • maillage en TRIA6,

  • raffinement-déraffinement libre (MACR_ADAP_MAIL option LIBRE=’RAFF_DERA’) piloté par la composante NUEST de ERRE_ELGA_NORE (composante relative de l’indicateur en résidu). Avec comme critères CRIT_RAFF_PE=CRIT_DERA_PE=0.2 (on raffine 20% des éléments les pires et on déraffine 20% des meilleurs).

Caractéristiques du maillage#

Initialement : 61 TRIA6, 15 SEG3, 156 nœuds

Après un raffinement libre: 107 TRIA6, 19 SEG3, 256 nœuds

Après deux raffinements libres: 212 TRIA6, 26 SEG3, 479 nœuds

Après trois raffinements libres: 404 TRIA6, 33 SEG3, 879 nœuds

Après quatre raffinements libres: 786 TRIA6, 39 SEG3, 1671 nœuds

Grandeurs testées et résultats#

On teste les valeurs des erreurs relatives en flèche et en énergie potentielle de déformation par rapport aux solutions de référence (cf. [§2.2]). Et ce, sur le maillage initial et après quatre raffinements uniformes. Les tests se devant d’être multi-plateformes, la tolérance relative, qui est sur les erreurs initiales fixée à 10–6 %, est volontairement relâchée sur les erreurs après quatre raffinements: 10–4%.

Ces tests sont effectués sur des variables PYTHON (via TEST_FONCTION) préalablement insérées dans des fonctions ASTER (via FORMULE).

Identification

Valeurs Code_Aster

Valeurs de référence

Tolérance

Ecart relatif (en %)

Variable ASTER

Variable PYTHON

\({E}_{p}(0)\)

0.125637 %

idem

10–6%

–2.65 10–12 ~ 0%

ERREEN0

eren0

\({E}_{p}(4)\)

1.245370 10–2%

idem

10–4%

–2.27 10–12 ~ 0%

ERREEN4

eren4

Flèche(0)

0.106929 %

idem

10–6%

1.6 10–12 ~ 0%

ERREFL0

erfl0

Flèche(4)

1.074923 10–2%

idem

10–4%

–2.34 10–12 ~ 0%

ERREFL4

erfl4

Ce qu’il fallait retenir de cette partie du TP…#

L’enchaînement «opérateurs thermo-mécaniques/MACR_ADAP_MAIL OPTION ‘LIBRE’»permet de faire converger optimalement le maillage.

La qualité des éléments est peu impactée par le processus de raffinement/déraffinement. Compte-tenu des choix opérés dans HOMARD, elle peut même s’améliorer en 3D!

Le type d’indicateur et son mode de normalisation a une grande incidence sur le maillage final . Compte-tenu du type de normalisation adopté pour les indicateurs en mécanique,

../../../../_images/Object_649.svg

(en %)

Sur des problèmes avec singularités (encastrement, discontinuité de courbure, coin rentrant, fissure….), il vaut mieux utiliser la composante absolue de ces indicateurs. Car comme pour «notre bonne vieille poutre encastrée»:

../../../../_images/Object_758.svg

% lorsque

../../../../_images/Object_868.svg

(près de l’encastrement)

../../../../_images/Object_960.svg

% lorsque

../../../../_images/Object_1069.svg

(près de la flèche)

et ce, indépendamment des vraies valeurs de l’indicateur absolu

../../../../_images/Object_1178.svg

!

Ceci ne remet pas du tout en cause la grande utilité de ces indicateurs. Il faut juste tenir compte de ces éléments pour affiner son diagnostic et éventuellement «jongler» avec ces deux composantes pour raffiner dans les zones d’intérêt.

Le problème ne se pose pas en thermique , car l’indicateur en résidu pour le problème thermique est normalisé différemment. On peut cependant composer avec les composantes de l’indicateur thermique et des conditions limites ,«fictives» ou non, pour orienter la construction d’un maillage raffiné ou déraffiné par zones (cf. [§6.3] [R4.10.03] et modélisation A,_ TP21 _, de la documentation [V6.03.120]).

Synthèse des résultats#

Dans ce cas-test, il s’agit de s’assurer de la non-régression du TP n°1 associé aux cours «Indicateurs d’erreur et adaptation de maillage; Etat de l’art et implantation dans Code_Aster» de la formation «Analyse statique non-linéaire avec Code_Aster ».

En fait, on «malmène» un calcul élastique sur une poutre métallique en flexion en modélisation contrainte plane. On le fait converger uniformément via l’outil de raffinement-déraffinement HOMARD encapsulé dans MACR_ADAP_MAIL, puis librement en couplant le processus à une carte d’erreurs spatiale localisée sur chaque élément fini.

Les objectifs de ce TP sont multiples, il s’agit:

  • de se familiariser et de mettre en pratique les deux problématiques duales: calcul de carte d’indicateur d’erreur et stratégies d’adaptation de maillage. Sur des cas standards, mais aussi sur des cas pathologiques …,

  • de détailler les différents paramétrages des opérateurs incriminés (CALC_ERREUR, MACR_ADAP_MAIL) et d’opérateurs connexes qui peuvent se révéler particulièrement intéressants pour ces problématiques (INFO_MAILLAGE, MACR_INFO_MAIL, PROJ_CHAMP…),

  • de marteler des conseils de «bonne pratique» pour la qualité des études et l’utilisation des outils déjà disponibles sur le sujet. On ne s’intéresse qu’aux aspects géométrie maillée, maillage proprement dit et type d’éléments finis. On ne s’attarde pas ici sur les problèmes de pas de temps, de calibrage de paramètres numériques et sur les aspects sensibilité vis-à-vis des données,

  • d’illustrer les formidables potentialités et facilités que permet le couplage «langage ASTER/PYTHON» dans le fichier de commande d’une étude (test, boucle, affichage, calcul, macro-commande personnelle, interactivité…). Les cas-tests officiels étant calibrés pour fonctionner en batch, certains de ces aspects ont donc été «commentarisés» dans le fichier de commande.

D’un point de vue validation informatique , ce cas test permet bien sûr de tester la non-régression de différents couplages calculs de carte d’erreurs/procédure de raffinement-déraffinement en mécanique, mais aussi les options de «pré et post-traitements» de ces calculs (lissage des contraintes aux nœuds, passage d’une erreur par élément à une erreur aux nœuds par élément).

Chaque modélisation est associée à une question du TP et on en a retranscrit la «substantifique» moelle des éléments de correction . L’intégralité du texte du TP étant disponible sur le site internet http://www.code-aster.com/utilisation/formations.