View
219
Download
0
Category
Preview:
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
Recommended