Vous êtes sur la page 1sur 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.
1 Problème éléments finis
1.1 Equations du problème continu

p(x)
F
0 E, S L

F IG . 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 en x = 0 impose un déplacement nul :

u(x = 0) = 0

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


dN
+ p(x) = 0 ∀x ∈ [0, L] et N(L) = F
dx
La relation de comportement élastique lie l’effort normal N à 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 :
Z L Z L
du du∗ ∗
ES dx = F u (L) + p(x)u∗ (x)dx ∀u∗ CA0
0 dx dx 0

Le problème est donc de trouver un champ u 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 contient N noeuds, le problème contient donc N inconnues (problème
unidimensionnel ici). Par conséquent, il suffit de chercher ces 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 pour N champs tests u∗ . 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 :
Z L Z L
∗ T T ∗ T T ∗ T
{u } ′ ′
ES[Φ (x)] [Φ (x)]dx = {u } F [Φ(L)] + {u } p(x)[Φ(x)]T dx
0 0

Si l’on omet temporairement la condition sur le champ u∗ , 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 :
Z L Z L
T T
[K] = ′ ′
ES[Φ (x)] [Φ (x)]dx et {F } = F [Φ(L)] + p(x)[Φ(x)]T dx
0 0

Le fait que u∗ soit CA0 impose la valeur du champ u∗ à 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 :
e
[K]{u} = {Fe} (2)
avec en plus [Φ(0)]{u} = 0. Dans [K], e 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éique p(x) imposé
est par ailleurs linéaire et nulle en x = 0. Dans ce cas la matrice de raideur prend la forme
suivante :
 
2 −1 0
e = 3ES 
[K] −1 2 −1

L
0 −1 1

Le vecteur des efforts généralisés contient deux termes : {Fe} = {F1 } + {F2 }. Le premier est
associé à l’effort ponctuel en bout :
 

0 
{F1 } = 0

  
F

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


 
Lp1
 9 
 
{F2 } = 2Lp 1

 4Lp1 
 9

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 de comportement élastique. Ils sont
bien entendu constants par élément.

F IG . 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 : Z L
∗ ∗
f (u ) = F u (L) + p(x)u∗ (x)dx
0
la fonction des données en effort.
On cherche une solution approchée par éléments finis uh (x) de uex (x), associée en fait à N
inconnues nodales, qui vérifie le problème écrit sous forme globale pour N u∗h (x) différents :
Z L
duh du∗h
ES dx = f (u∗h )
0 dx dx

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


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

Déplacements
Exact
EF Catia
0.0002 EF Perso

0.00015

0.0001

0.00005

0.2 0.4 0.6 0.8 1

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

La solution exacte uex vérifie quant à elle :


Z L
duex du∗h
ES dx = f (u∗h )
0 dx dx
On a donc par différence, pour chacun des N u∗h retenus :
Z L
d du∗
ES (uex − uh ) h dx = 0 (3)
0 dx dx

Cas d’un élément intérieur Prenons pour le moment les fonctions chapeaux éléments finis
pour chaque u∗h . La fonction associée au noeud i 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 noeud i :
Z xi+1
d du∗
ES (uex − uh ) h dx = 0
xi−1 dx dx
En intégrant cette dernière relation par partie, on obtient :
Z xi  x
d2 u∗h du∗h i
(uex − uh ) 2 dx − (uex − uh ) +
xi−1 dx dx xi−1
Z xi+1  x
d2 u∗h du∗h i+1
(uex − uh ) 2 dx − (uex − uh ) =0
xi dx dx xi
Les fonctions chapeau retenues pour les N u∗h étant linéaires par morceaux, la dérivée seconde
de u∗h est nulle partout. Ainsi :
 x  x
du∗h i+1 du∗h i
(uex − uh ) + (uex − uh ) =0
dx xi dx xi−1
En déroulant les calculs, et en remarquant que :
du∗h 1 du∗h 1
= sur [xi−1 xi ] et =− sur [xi xi+1 ]
dx xi − xi−1 dx xi+1 − xi

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


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

Efforts normaux

300

250

Exact
200 EF Catia
EF Perso

150

100

0.2 0.4 0.6 0.8 1

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


1 1

xi−1 xi xi+1 x1 x2
(a) Fonction chapeau associée à un noeud intérieur (b) Fonction chapeau associée à un
noeud bord

F IG . 5 – Fonctions chapeau intérieures et bord

on obtient :
1 1
(uex − uh )(xi ) − (uex − uh )(xi−1 )
xi − xi−1 xi − xi−1
1 1
+(uex − uh )(xi+1 ) − (uex − uh )(xi ) =0
xi+1 − xi xi+1 − xi
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 :
Z x2
d du∗
ES (uex − uh ) h dx = 0
x1 dx dx
Cela conduit, en suivant la même démarche que précédemment à :
 x
du∗h 2 1 1
∆u = −∆u(x2 ) + ∆u(x1 ) =0
dx x1 x2 − x1 x2 − x1

– 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 finis uh est cinématiquement admissible. Par conséquent, si
on a une liaison en x1 alors ∆u(x1 ) = 0. De ce fait, l’équation (5) montre que ∆u(x2 ) = 0
également. Ensuite, l’équation (4) écrite pour i = 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 des contraintes 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 de déformation :
Z L
2
a = [Nh (x) − N ∗ (x)]2 dx
0

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 du champ lissé :
Z L Z L Z L
2 ∗ T T ∗ 2
a ={N } [Φ] [Φ]dx{N } + [Nh (x)] dx − 2 [Φ]{N ∗ }Nh (x)dx
0 0 0
Z L Z L
= {N ∗ }T [M]{N ∗ } + [Nh (x)]2 dx − 2{N ∗ }T [Φ]T Nh (x)dx
0 0

– 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’écart a2
revient donc à résoudre le système linéaire :
Z L

[M]{N } = [Φ]T Nh (x)dx (6)
0

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.

Matrice de masse consistante

300

250

200 Lissé Catia


Lissé Perso
Exact
EF Catia
150
EF Perso

100

0.2 0.4 0.6 0.8 1

F IG . 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. On peut 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 :
Z L
[MD ]{N } =∗
[Φ]T Nh (x)dx
0

En menant ce calcul, on obtient bien la concordance entre les efforts 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éfinie comme suit à partir du champ de
contraintes éléments finis, et du champ de contraintes lissé :
Z L
2 1
eZZ1 = [Nh (x) − N ∗ (x)] [Nh (x) − N ∗ (x)]dx
0 ES

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


2.4 Erreur relative

Matrice de masse diagonale

300

250

200 Lissé Catia


Lissé Perso
Exact
150 EF Catia
EF Perso

100

0.2 0.4 0.6 0.8 1

F IG . 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 :
Z L
2 1
eex = [Nh (x) − Nex (x)] [Nh (x) − Nex (x)]dx
0 ES
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 :
Z L
2 1
d = Nh (x) Nh (x)dx
0 ES
ou encore Z L
2 1
d = [Nh (x) + N ∗ (x)] [Nh (x) + N ∗ (x)]dx
0 ES

– 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 :


Z L
2 1
d = Nh (x) Nh (x)dx + e2ZZ1
0 ES
On obtient donc l’erreur relative (au carré) via le rapport :
2 e2ZZ1
ηZZ1 =
e2ZZ1 + e2def (Nh )
avec Z L
1
e2def (Nh ) = Nh (x)
Nh (x)dx
0 ES
On obtient les erreurs élémentaires données dans le tableau 2.
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 le calcul 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, lors de 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).
Matrice de masse consistante

300

250

200 Lissé Catia


Lissé Perso avec condition au bord
Exact
150
EF Catia
EF Perso

100

0.2 0.4 0.6 0.8 1

F IG . 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


Erreur perso
0.0006
Erreur Catia
Erreur exacte
0.0005

0.0004

0.0003

0.0002

0.0001

1 2 3

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

Erreur perso avec effort au bord exact


0.0006
Erreur Catia
Erreur exacte
0.0005

0.0004

0.0003

0.0002

0.0001

1 2 3

F IG . 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

F IG . 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 les Capteurs. 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 énergie pour
obtenir l’erreur absolue. Il faut ensuite répéter l’opération et sélectionner globale (%) pour
obtenir l’erreur relative. Ces deux quantités sont accessibles sous le noeud Capteurs et si les
options sont bien réglées, la valeur est affichée. Si ce n’est pas le cas, il faut aller dans le
menu Outils/Options et, dans le menu Général/Paramètres et mesures, cocher la case Vue 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

F IG . 12 – Maillage initial de la chemise

(a) Vue 1 (b) Vue 2

F IG . 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’outils Image et en cliquant sur l’icône intitulée Précision dans le
troisième menu déroulant ;
– en utilisant le menu contextuel : cliquer droit sur la solution statique, dans l’arbre, sélection-
ner Génération d’images, et choisir dans la fenêtre qui s’ouvre Erreur 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 la faire 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’outils Adaptivité, cliquer sur l’icône Entité adaptative. Dans la fenêtre qui
s’ouvre :
– indiquer que le support à modifier est le maillage de la pièce qui se trouve dans l’arbre sous
le noeud Maillage ;
– proposer une erreur objectif de 20% 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ération pré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 obtient e2ZZ1 = 0.03 J et ηZZ1 = 17.3%. Le critère d’erreur
a donc pu être satisfait avec le nombre d’itérations maximal et 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

F IG . 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

F IG . 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’erreur donné
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