15
Estimation d’erreur en discrétisation dans Catia F. Louf Dans cette fiche, on montre comment estimer une erreur via un estimateur de type ZZ basé sur le lissage des contraintes. La démarche est détaillée pas à pas sur un exemple unidimensionnel très simple et les résultats obtenus sont comparés à ceux de Catia et à l’erreur exacte.

Fiche Estimateur ZZ - francois.louf.free.frfrancois.louf.free.fr/Catia/Methodes/ErreurZZ/files/page9_1.pdf · Afin de comparer les différents calculs menés ici aux résulta ts

  • Upload
    voduong

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Estimation d’erreur en discrétisation dans Catia

F. Louf

Dans cette fiche, on montre comment estimer une erreur via un estimateur de type ZZ basé

sur le lissage des contraintes. La démarche est détaillée pas à pas sur un exemple

unidimensionnel très simple et les résultats obtenus sont comparés à ceux de Catia et à

l’erreur exacte.

1 Problème éléments finis

1.1 Equations du problème continu

F

0 L

p(x)

E, S

FIG. 1 – Structure unidimensionnelle étudiée dans ce document

On s’intéresse ici au problème très simple proposé sur la figure 1.

La liaison encastrement enx = 0 impose un déplacement nul :

u(x = 0) = 0

L’équation d’équilibre locale impliquant l’effort normalN est :

dN

dx+ p(x) = 0 ∀x ∈ [0, L] et N(L) = F

La relation de comportement élastique lie l’effort normalN à la déformationε :

N(x) = ESε(x)

1.1.1 Formulation globale du problème

L’équation d’équilibre écrite sous forme globale, dans laquelle la relation de comportement a

été intégrée, devient :

ES

∫ L

0

du

dx

du∗

dxdx = Fu∗(L) +

∫ L

0

p(x)u∗(x)dx ∀u∗ CA0

Le problème est donc de trouver un champu vérifiant cette équation d’équilibre et les condi-

tions aux limites :

u(x = 0) = 0

1.2 Calcul éléments finis

1.2.1 Discrétisation

On cherche ensuite le déplacement solution du problème précédent dans la base éléments finis,

c’est-à-dire sous la forme :

u(x) = [Φ(x)]{u}

où [Φ(x)] désigne le vecteur ligne des fonctions de base éléments finis(fonctions chapeau), et

où{u} est le vecteur colonne des inconnues nodales.

Si le maillage de la barre contientN noeuds, le problème contient doncN inconnues (problème

unidimensionnel ici). Par conséquent, il suffit de chercherces inconnues vérifiant l’équation

– Estimation d’erreur dans Catia – Eléments de théorie - F. Louf 2

1.3 Calcul sur un maillage à trois éléments linéaires

d’équilibre pourN champs testsu∗. En pratique, on choisit les fonctions de bases éléments

finis [Φ(x)].

L’équation d’équilibre devient alors, dans sa forme discrétisée,∀u∗ = [Φ(x)]{u∗} tel que

[Φ(0)]{u∗} = 0 :

{u∗}T

∫ L

0

ES[Φ′(x)]T [Φ′(x)]dx = {u∗}T F [Φ(L)]T + {u∗}T

∫ L

0

p(x)[Φ(x)]T dx

Si l’on omet temporairement la condition sur le champu∗, l’équation précédente conduit au

système linéaire suivant :

[K]{u} = {F} (1)

avec la matrice de raideur et le vecteur des efforts généralisés définis par :

[K] =

∫ L

0

ES[Φ′(x)]T [Φ′(x)]dx et {F} = F [Φ(L)]T +

∫ L

0

p(x)[Φ(x)]T dx

Le fait queu∗ soit CA0 impose la valeur du champu∗ à zéro en un ou plusieurs points parti-

culier correspondant à un degré de liberté particulier. De ce fait, les équations correspondant à

ces degrés de liberté ne doivent pas apparaître dans le système linéaire précédent. Ainsi le réel

problème à résoudre est :

[K̃]{u} = {F̃} (2)

avec en plus[Φ(0)]{u} = 0. Dans[K̃], les lignes et colonnes correspondant aux degrés de

liberté bloqués sont ôtés par rapport à la matrice[K].

1.3 Calcul sur un maillage à trois éléments linéaires

Afin de comparer les différents calculs menés ici aux résultats de Catia, on travaille avec un

modèle très simple à trois éléments linéaires identiques. Le chargement linéiquep(x) imposé

est par ailleurs linéaire et nulle enx = 0. Dans ce cas la matrice de raideur prend la forme

suivante :

[K̃] =3ES

L

2 −1 0

−1 2 −1

0 −1 1

Le vecteur des efforts généralisés contient deux termes :{F̃} = {F1} + {F2}. Le premier est

associé à l’effort ponctuel en bout :

{F1} =

0

0

F

Le second est associé à l’effort linéique linéaire en notantp(L) = p1 :

{F2} =

Lp1

9

2Lp1

9

4Lp1

27

– Estimation d’erreur dans Catia – Eléments de théorie - F. Louf 3

1.3 Calcul sur un maillage à trois éléments linéaires

Les déplacements obtenus par résolution du système linéaire sont comparés à ceux issus de

Catia associés à un modèle volumique contenant trois éléments CUB8 (figure 2). Ils sont éga-

lement comparés aux déplacements exacts. La figure 3 montre la concordance des résultats et

permet de vérifier la propriété qui sera démontrée au paragraphe 1.3.1. On peut toutefois être

surpris du léger défaut de la solution éléments finis Catia.

Remarque. – Le choix d’éléments massif dans Catia a été guidé par le fait que l’estimateur

d’erreur ne fonctionne pas pour des éléments poutre. Les conditions aux limites ont été choi-

sies de façon à ce que le barreau ne travaille qu’en traction-compression.

Les efforts normaux sont ensuite calculés via la relation decomportement élastique. Ils sont

bien entendu constants par élément.

FIG. 2 – Maillage utilisé dans Catia

1.3.1 Propriété propre aux problèmes poutres

Remarque. – Cette démonstration m’a été soufflée de mémoire par J.P. Pelle, il y a quelques

années, sur le coin d’une table. Rendons à César ce qui lui appartient.

Notons :

f(u∗) = Fu∗(L) +

∫ L

0

p(x)u∗(x)dx

la fonction des données en effort.

On cherche une solution approchée par éléments finisuh(x) deuex(x), associée en fait àN

inconnues nodales, qui vérifie le problème écrit sous forme globale pourN u∗

h(x) différents :

ES

∫ L

0

duh

dx

du∗

h

dxdx = f(u∗

h)

– Estimation d’erreur dans Catia – Eléments de théorie - F. Louf 4

1.3 Calcul sur un maillage à trois éléments linéaires

0.2 0.4 0.6 0.8 1

0.00005

0.0001

0.00015

0.0002

Déplacements

Exact

EF Catia

EF Perso

FIG. 3 – Déplacements axiaux calculés ici, dans Catia, et exacts

La solution exacteuex vérifie quant à elle :

ES

∫ L

0

duex

dx

du∗

h

dxdx = f(u∗

h)

On a donc par différence, pour chacun desN u∗

h retenus :

ES

∫ L

0

d

dx(uex − uh)

du∗

h

dxdx = 0 (3)

Cas d’un élément intérieur Prenons pour le moment les fonctions chapeaux éléments finis

pour chaqueu∗

h. La fonction associée au noeudi est représentée figure 5(a). Ces fonctions

étant à support compact, l’intégrale sur toute la barre définie dans l’équation (3) se résume à

une intégrale sur deux éléments entourant le noeudi :

ES

∫ xi+1

xi−1

d

dx(uex − uh)

du∗

h

dxdx = 0

En intégrant cette dernière relation par partie, on obtient:∫ xi

xi−1

(uex − uh)d2u∗

h

dx2dx −

[(uex − uh)

du∗

h

dx

]xi

xi−1

+

∫ xi+1

xi

(uex − uh)d2u∗

h

dx2dx −

[(uex − uh)

du∗

h

dx

]xi+1

xi

= 0

Les fonctions chapeau retenues pour lesN u∗

h étant linéaires par morceaux, la dérivée seconde

deu∗

h est nulle partout. Ainsi :[(uex − uh)

du∗

h

dx

]xi+1

xi

+

[(uex − uh)

du∗

h

dx

]xi

xi−1

= 0

En déroulant les calculs, et en remarquant que :

du∗

h

dx=

1

xi − xi−1

sur[xi−1 xi] etdu∗

h

dx= −

1

xi+1 − xi

sur[xi xi+1]

– Estimation d’erreur dans Catia – Eléments de théorie - F. Louf 5

1.3 Calcul sur un maillage à trois éléments linéaires

0.2 0.4 0.6 0.8 1

100

150

200

250

300

Efforts normaux

Exact

EF Catia

EF Perso

FIG. 4 – Efforts normaux éléments finis (calculés ici et dans Catia)

xi−1 xi xi+1

1

(a) Fonction chapeau associée à un noeud intérieur

x1 x2

1

(b) Fonction chapeau associée à un

noeud bord

FIG. 5 – Fonctions chapeau intérieures et bord

on obtient :

(uex − uh)(xi)1

xi − xi−1

− (uex − uh)(xi−1)1

xi − xi−1

+(uex − uh)(xi+1)1

xi+1 − xi

− (uex − uh)(xi)1

xi+1 − xi

= 0

En posant∆u(x) = (uex − uh)(x) l’écart entre la solution éléments finis et la solution exacte

et en simplifiant un peu l’expression, on trouve finalement :

∆u(xi)[xi+1 − xi] − ∆u(xi−1)[xi+1 − xi] − ∆u(xi+1)[xi − xi−1] = 0 (4)

Cas d’un élément bord La fonction choisie est de la forme donnée sur la figure 5(b). L’équa-

tion (3) devient dans ce cas particulier :

ES

∫ x2

x1

d

dx(uex − uh)

du∗

h

dxdx = 0

Cela conduit, en suivant la même démarche que précédemment à:[∆u

du∗

h

dx

]x2

x1

= −∆u(x2)1

x2 − x1

+ ∆u(x1)1

x2 − x1

= 0

– Estimation d’erreur dans Catia – Eléments de théorie - F. Louf 6

soit finalement :

∆u(x2) = ∆u(x1) (5)

Conclusion Montrons maintenant à l’aide des équations (4) et (5) que la solution éléments

finis est exacte aux noeuds du maillage. Par construction, dans la très grande majorité des

logiciels, le déplacement éléments finisuh est cinématiquement admissible. Par conséquent, si

on a une liaison enx1 alors∆u(x1) = 0. De ce fait, l’équation (5) montre que∆u(x2) = 0

également. Ensuite, l’équation (4) écrite pouri = 2 établit que∆u(x3) = 0. De proche en

proche, on montre ainsi que∆u(xi) = 0 ∀i ∈ 1, . . . , N .

Il est à noté qu’aucune hypothèse n’a été formulée sur la forme du chargement pour établir ce

résultat.

Remarque. – Dans le cas où on aurait un déplacement imposé à l’intérieur de la barre, on

aurait en fait deux problèmes de traction à résoudre et la propriété est toujours vraie.

2 Estimation d’erreur

2.1 Principe

Le principe de l’estimation d’erreur basé sur le lissage descontraintes est simple. On considère

que le champ de contrainte éléments finis a pour principal défaut le fait d’être discontinu entre

deux éléments. Le fait de le lisser permet d’obtenir une quantité meilleure vis à vis de la

référence continue. Ainsi, mesurer l’écart entre la quantité lissée et la quantité éléments finis

brute permet d’estimer l’erreur vraie.

2.2 Construction du champ lissé

Le champ de contrainte lisséN∗ peut être calculé d’une infinité de manière. La plus simple

est celle utilisée notamment dans Catia qui consiste à chercher le champ lissé dans la base des

fonctions éléments finis :

N∗(x) = [Φ(x)]{N∗}

Le champ lissé cherché doit minimiser un certain écart par rapport au champ éléments fini brut

notéNh dans la suite. On peut prendre l’écart au sens de l’énergie dedéformation :

a2 =

∫ L

0

[Nh(x) − N∗(x)]2dx

En introduisant la forme du champ lissé choisie dans cet écart, on peut détailler son expression

en fonction des données du problème et des valeurs nodales duchamp lissé :

a2 ={N∗}T

∫ L

0

[Φ]T [Φ]dx{N∗} +

∫ L

0

[Nh(x)]2dx − 2

∫ L

0

[Φ]{N∗}Nh(x)dx

= {N∗}T [M ]{N∗} +

∫ L

0

[Nh(x)]2dx − 2{N∗}T

∫ L

0

[Φ]T Nh(x)dx

– Estimation d’erreur dans Catia – Eléments de théorie - F. Louf 7

2.3 Calcul de l’erreur

où [M ] désigne la matrice de masse associée au modèle éléments finis(avec une masse vo-

lumique unitaire). Chercher les valeurs nodales du champ lissé{N∗} minimisant l’écarta2

revient donc à résoudre le système linéaire :

[M ]{N∗} =

∫ L

0

[Φ]T Nh(x)dx (6)

Le champ lissé calculé de cette manière est comparé aux efforts éléments finis calculés ici

et dans Catia, aux efforts exacts, et aux effort lissés calculés dans Catia. Les résultats son

présentés sur la figure 6.

0.2 0.4 0.6 0.8 1

100

150

200

250

300

Lissé Catia

Lissé Perso

Exact

EF Catia

EF Perso

Matrice de masse consistante

FIG. 6 – Efforts normaux éléments finis et lissés (calculés ici avec matrice de masse cohérente

et dans Catia)

On observe que les efforts lissés calculés par la méthode proposée ici sont différents de ceux

calculés dans Catia. Le fait qu’il soit nécessaire de résoudre le système linéaire (6) pour calcu-

ler le champ lissé est couteux dans le cas d’un gros modèle. Onpeut donc penser que le logiciel

utilise, non pas la matrice de masse cohérente, mais la matrice de masse diagonale (comme en

dynamique explicite) pour ce système :

[MD]{N∗} =

∫ L

0

[Φ]T Nh(x)dx

En menant ce calcul, on obtient bien la concordance entre lesefforts lissés calculés ici et ceux

obtenus dans Catia comme montré sur la figure 7.

2.3 Calcul de l’erreur

L’erreur absolue estimée a un sens énergétique et est définiecomme suit à partir du champ de

contraintes éléments finis, et du champ de contraintes lissé:

e2

ZZ1 =

∫ L

0

[Nh(x) − N∗(x)]1

ES[Nh(x) − N∗(x)]dx

– Estimation d’erreur dans Catia – Eléments de théorie - F. Louf 8

2.4 Erreur relative

0.2 0.4 0.6 0.8 1

100

150

200

250

300

Lissé Catia

Lissé Perso

Exact

EF Catia

EF Perso

Matrice de masse diagonale

FIG. 7 – Efforts normaux éléments finis et lissés (calculés ici avec matrice de masse diagonale

et dans Catia)

Quant à l’erreur exacte, elle représente la vraie distance entre la solution exacte, connue ici, et

la solution approchée éléments finis :

e2

ex =

∫ L

0

[Nh(x) − Nex(x)]1

ES[Nh(x) − Nex(x)]dx

En suivant cette démarche, on obtient les erreurs absolues présentées dans le tableau 1. L’écart

Catia Ici Exacte

0.0008352 0.0008299 0.0009128

TAB. 1 – Erreurs absolues obtenues ici, dans Catia, et exacte

entre l’estimation dans Catia et celle faite ici est très probablement due à l’écart constaté sur

les déplacements. On remarque par ailleurs que l’estimation de l’erreur donne le bon ordre de

grandeur, mais qu’elle n’est pas nécessairement une surestimation de l’erreur exacte.

2.4 Erreur relative

Définir une erreur relative est pratique pour comparer deux problèmes entre eux. En effet l’er-

reur absolue étant lié à l’énergie injectée, elle ne peut servir à comparer la qualité de deux

problèmes avec des sollicitations différentes. Il faut donc diviser cette erreur absolue par une

quantité ayant la même unité et associée à l’énergie du problème. On peut donc prendre l’éner-

gie de déformation associé au problème éléments finis par exemple :

d2 =

∫ L

0

Nh(x)1

ESNh(x)dx

ou encore

d2 =

∫ L

0

[Nh(x) + N∗(x)]1

ES[Nh(x) + N∗(x)]dx

– Estimation d’erreur dans Catia – Eléments de théorie - F. Louf 9

2.5 Contributions élémentaires à l’erreur globale

ou encore le choix fait dans Catia :

d2 =

∫ L

0

Nh(x)1

ESNh(x)dx + e2

ZZ1

On obtient donc l’erreur relative (au carré) via le rapport :

η2

ZZ1 =e2

ZZ1

e2ZZ1

+ e2def(Nh)

avec

e2

def (Nh) =

∫ L

0

Nh(x)1

ESNh(x)dx

On obtient les erreurs élémentaires données dans le tableau2.

Catia Ici Exacte

11.83% 11.88% 12.45%

TAB. 2 – Erreurs relatives obtenues ici, dans Catia, et exacte

2.5 Contributions élémentaires à l’erreur globale

L’erreur globale absolue étant une intégrale sur tout le domaine, il est possible de la découper

en des contributions élémentaire associées à chaque éléments du maillage. On peut alors com-

parer les erreurs élémentaires exactes, et estimées via l’indicateur ZZ1 calculé ici et dans Catia.

On obtient les histogrammes de la figure 8. Ils montrent que lecalcul mené ici est bien celui

réalisé dans Catia, et que ces erreurs élémentaires ne sont pas très représentatives de l’erreur

locale vraie.

Pour améliorer l’estimation, on se propose d’imposer, lorsde la recherche des{N∗}, la vérifi-

cation de l’équilibre bord. Dans ce cas, on obtient des efforts lissés très proches de la solution

exacte (figure 9) et des erreurs élémentaires elles aussi très bonnes (figure 10).

0.2 0.4 0.6 0.8 1

100

150

200

250

300

Lissé Catia

Lissé Perso avec condition au bord

Exact

EF Catia

EF Perso

Matrice de masse consistante

FIG. 9 – Efforts normaux éléments finis et lissés (calculés ici avec condition au bord et dans

Catia)

– Estimation d’erreur dans Catia – Eléments de théorie - F. Louf 10

1 2 3

0.0001

0.0002

0.0003

0.0004

0.0005

0.0006

Erreur exacte

Erreur Catia

Erreur perso

FIG. 8 – Contributions élémentaires à l’erreur globale (exactes et estimées)

1 2 3

0.0001

0.0002

0.0003

0.0004

0.0005

0.0006

Erreur exacte

Erreur Catia

Erreur perso avec effort au bord exact

FIG. 10 – Contributions élémentaires à l’erreur globale (exactes et estimées) avec une

contrainte au bord sur le calcul du champ lissé

3 Mise en œuvre du calcul d’erreur dans Catia

A la suite d’un calcul de statique, il est possible, si la structure est maillée à l’aide d’éléments

massifs (TET4, TET10, CUB8, etc...), de calculer l’erreur absolue, la carte des contributions

élémentaires à l’erreur globale, l’erreur relative. On présente ici la manière d’accéder à ces

informations.

3.1 Support

On choisit comme support la chemise oscillante d’un moteur hydraulique à pistons radiaux

dont un écorché est présenté figure 11.

– Estimation d’erreur dans Catia – Eléments de théorie - F. Louf 11

3.2 Calcul de l’erreur absolue et de l’erreur relative

FIG. 11 – Vue écorchée d’un moteur hydraulique à piston radiaux :on étudie une des chemises

oscillantes

Le maillage initial utilisé et généré automatiquement par Catia sans contrainte particulière est

présenté sur la figure 12.

3.2 Calcul de l’erreur absolue et de l’erreur relative

Le calcul des erreurs absolue et relative se fait par lesCapteurs. Une fois la solution calculée,

en cliquant droit sur le noeud capteur dans l’arbre, sous la solution statique, on peut choisir

de créer un capteur global. Dans la fenêtre qui s’ouvre, sélectionner l’Erreur en énergiepour

obtenir l’erreur absolue. Il faut ensuite répéter l’opération et sélectionnerglobale (%)pour

obtenir l’erreur relative. Ces deux quantités sont accessibles sous le noeudCapteurset si les

options sont bien réglées, la valeur est affichée. Si ce n’estpas le cas, il faut aller dans le

menuOutils/Optionset, dans le menuGénéral/Paramètres et mesures, cocher la caseVue des

paramètres dans l’arbre/Avec valeur.

Pour le cas présenté, l’erreur initiale est importante :e2ZZ1 = 0.19 J etηZZ1 = 50.2%.

– Estimation d’erreur dans Catia – Eléments de théorie - F. Louf 12

3.3 Carte des contributions élémentaires

(a) Vue 1 (b) Vue 2

FIG. 12 – Maillage initial de la chemise

(a) Vue 1 (b) Vue 2

FIG. 13 – Carte d’erreur obtenu avec le maillage initial

3.3 Carte des contributions élémentaires

Un fois que le calcul éléments fini est effectué, il suffit de générer une image soit :

– en utilisant la barre d’outilsImageet en cliquant sur l’icône intituléePrécisiondans le

troisième menu déroulant ;

– en utilisant le menu contextuel : cliquer droit sur la solution statique, dans l’arbre, sélection-

nerGénération d’images, et choisir dans la fenêtre qui s’ouvreErreur locale estimée.

Le champ tracé (figure 13) est constant par élément ce qui est tout à fait logique vue la construc-

tion présentée ici. Il présente de fortes hétérogénéités : le maillage proposé initialement n’est

pas adapté aux gradients de contraintes. Il faut l’adapter pour améliorer la qualité du calcul.

3.4 Adaptivité de maillage

Dans le cas où l’erreur commise au niveau du modèle éléments finis est uniquement due à

la discrétisation, raffiner le maillage doit permettre de lafaire chuter. On peut bien entendu

raffiner le maillage globalement, mais cela devient vite coûteux. Par ailleurs cela conduit à un

maillage inutilement très fin dans des zones peu sollicitées(faibles gradients de contraintes).

Il est alors intéressant d’utiliser la carte d’erreur générée précédemment pour définir une carte

– Estimation d’erreur dans Catia – Eléments de théorie - F. Louf 13

3.4 Adaptivité de maillage

de taille de mailles qui sera respectée au mieux par le mailleur. Cela conduit à un maillage

optimal vis à vis du critère coût/qualité.

Dans la barre d’outilsAdaptivité, cliquer sur l’icôneEntité adaptative. Dans la fenêtre qui

s’ouvre :

– indiquer que le support à modifier est le maillage de la piècequi se trouve dans l’arbre sous

le noeudMaillage;

– proposer une erreur objectif de20% pour commencer.

Il faut ensuite relancer le calcul, mais cette fois à l’aide de l’outil Calcul avec adaptativité.

Dans la fenêtre qui s’ouvre, on précise :

– le nombre d’itérations maximal pour atteindre l’erreur souhaitée : 4 ici ;

– que l’on autorise le déraffinement du maillage dans des zones à très faible niveau d’erreur ;

– que l’on interdit une taille de maille inférieure à0.5 mm afin de ne pas obtenir un coût de

calcul prohibitif ; si cette valeur est trop grande, on peut éventuellement bloquer l’algorithme

qui ne pourra pas atteindre le critère d’erreur souhaité.

En validant, on lance 4 fois le processus qui conduit successivement

– à un remaillage à partir de la carte d’erreur de l’itérationprécédente ;

– à un calcul de la solution statique ;

– à un calcul de l’indicateur ;

– à un calcul des contributions élémentaires.

A la fin de ce procesus, on obtiente2ZZ1 = 0.03 J et ηZZ1 = 17.3%. Le critère d’erreur

a donc pu être satisfait avec le nombre d’itérations maximalet la taille de maille minimale

imposés. Le maillage obtenu est présenté figure 15. Les cartes d’erreur proposées figure 14

sont relativement homogènes contrairement aux cartes associées au maillage initial.

(a) Vue 1 (b) Vue 2

FIG. 14 – Carte d’erreur après optimisation du maillage

– Estimation d’erreur dans Catia – Eléments de théorie - F. Louf 14

3.4 Adaptivité de maillage

(a) Vue 1 (b) Vue 2

FIG. 15 – Maillage optimisé de la chemise

Icône Nom de l’outil Description sommaire

Entité adaptative Définit les critères pour adapter le maillage

Calcul avec adaptativitéLance de calcul du maillage optimal pour un critère d’erreurdonné

Précision Calculer la carte des contributions élémentaires à l’erreur globale

TAB. 3 – Outils utilisés dans Catia et icônes correspondantes pour le calcul d’erreur

– Estimation d’erreur dans Catia – Eléments de théorie - F. Louf 15