• Aucun résultat trouvé

Nous voici au vif du sujet : l'adaption de maillage. Nous parlerons rapidement de l'adapta­ tion par métrique classique puis de l'adaptation hiérarchique, toutes deux étant des méthodes déjà implantées au GIREF. Ensuite, nous expliquerons en détails la méthode de Pagnutti & Ollivier­Gooch, une méthode d'adaptation par métrique. Nous déterminerons sa métrique, en lien avec l'erreur d'interpolation. Finalement, nous expliciterons les étapes précises menant à l'adaptation de maillage. L'adaptation est très sensible à l'ordre de ces étapes et aux critères que nous imposerons pour effectuer chaque action.

2.1 Adaptation par métrique classique

Nous définirons ici ce qu'est une métrique et nous déterminerons la métrique classique, implantée au GIREF, en lien avec l'erreur d'interpolation.

2.1.1 Une métrique

Une métrique est une mesure qui définit la distance entre deux éléments d'un ensemble. Soit donc la fonction d : (X, X ) —♦ R+. d(­, • ) est une m é t r i q u e sur X si elle satisfait, pour tout x, y et z G X, les trois propriétés suivantes :

1. d(x,y) = 0 <5 x = y

2. d(x,y) = d(y,x)

3. d(x, z) < d(x, y) + d(y, z).

Un exemple de métrique est la distance euclidienne, définie sur Rn par

20 CHAPITRE 2. ADAPTATION DE MAILLAGE Nous souhaitons créer une métrique qui sera en lien avec l'erreur d'interpolation d'une fonction u. Pour ce, considérons la métrique anisotrope dani(-,-) qui se caractérise comme

étant la distance euclidienne d'une transformation inversible L sur l'espace W1.

dam(a,b) = y/(L(b-a))T(L(b-a))

= yJ(b-a)

T

L

T

L(b-a)

En posant M = LTL, la métrique devient

da n i(a, b) = yj(b - a)TM(b - a) (2.1)

où M est une matrice symétrique définie positive.

2.1.2 A p p r o x i m a t i o n l i n é a i r e

Supposons que nous souhaitons approximer notre fonction u par une fonction linéaire par morceaux. Tel que mentionné à la section 1.3, il existe un fort lien entre l'erreur de l'approximation et la matrice hessienne de u, soit Hu. En effet, nous savons que si nous considérons un point x d'un élément K du maillage, l'erreur absolue d'interpolation |.__i(x)| en ce point aura la borne suivante

|-Ei(x)| < max max (ab,Hu(y) ab)

y^K âbcK

où ab est une arête de l'élément K et (•, • ) est le produit scalaire usuel.

Nous voudrions que notre métrique dani(- , •) soit indicatrice de l'erreur sur le maillage. Tel que mentionné à la section 1.5, si nous considérons une arête de longueur h et que nous approximons notre fonction par une fonction linéaire sur celle-ci, l'erreur de l'approximation sera proportionnelle à h2. Nous voudrions conserver cette propriété pour la mesure de longueur par métrique. Ainsi, nous voulons une métrique dani(-, • ) telle que

d>ani(a, b)2 « max |^i(x)|

xÇjab

où la longueur de l'arête au carré en mesure métrique équivaut à l'erreur sur l'arête. En considérant la borne de l'erreur sur l'arête et en choisissant

2.1. ADAPTATION PAR MÉTRIQUE CLASSIQUE 21 la mesure de longueur de l'arête ab serait directement en lien avec l'erreur d'approximation

sur l'arête. En uniformisant la longueur des arêtes du maillage par rapport à la métrique dani{-, • )i n o u s uniformiserions l'erreur sur chaque arête et donc l'erreur sur tout le maillage. Nous appelons ce processus l'adaptation par métrique.

En comparant cette métrique 2.2 à la métrique 2.1, nous identifions notre matrice M comme étant la matrice hessienne Hu de la fonction à approximer. Celle-ci est bien symé- trique mais n'est pas nécessairement définie positive. Si, en effet, la matrice M n'est pas définie positive, nous procédons de la manière suivante.

Soit la matrice symétrique M qui n'est pas définie positive. Nous procédons d'abord en diagonalisant celle-ci. Sa factorisation est alors la suivante,

M = QAQT

où Q est la matrice des vecteurs propres et A est la matrice diagonale des valeurs propres Aj de M. La prochaine étape consiste à modifier la matrice A en employant la valeur absolue sur toutes ses valeurs propres. La matrice M devient alors

M = Q\A\QT

où, dans le cas d'une matrice 2 x 2 ,

|A| = U IH>'

De plus, s'il existe une valeur propre nulle, nous remplaçons celle-ci par une très petite valeur e > 0. La nouvelle matrice M est alors une matrice définie positive.

Remarquons que lorsque nous résolvons une équation aux dérivées partielles, la solution u est inconnue. Pour obtenir les valeurs de Hu que nous utiliserons pour définir la métrique, nous employons donc des méthodes de récupération de dérivées. Notons aussi que lorsque nous développerons nos différentes méthodes d'adaptation, toutes dérivées dont nous aurons besoin seront disponibles via différents procédés de récupération de dérivées. Pour plus d'informations sur ces méthodes, nous nous référons au mémoire [11] de Benoît Pouliot.

2.1.3 A p p r o x i m a t i o n q u a d r a t i q u e

Si toutefois nous souhaitons approximer notre fonction u par une fonction quadratique par morceaux, le processus devient plus complexe. Une première intuition nous amène à regarder le gradient de notre fonction u. Nous considérons alors que l'erreur sur le gradient est indica-

22 CHAPITRE 2. ADAPTATION DE MAILLAGE

trice de l'erreur sur la fonction u elle-même.

Puisque u est approximée par une fonction quadratique par morceaux, l'approximation de chaque composante du gradient est une fonction linéaire par morceaux. Toutefois, rien ne nous assure que ces fonctions linéaires par morceaux sont continues. Pour régler ce problème, nous pouvons projeter les morceaux de fonctions linéaires de façon à obtenir une fonction linéaire par morceaux continue pour chaque dérivée. Toutefois, cela n'est pas nécessaire puisque toute information dont nous aurons besoin sera accessible à partir de l'approximation de u.

Nous cherchons donc à définir une métrique en lien avec l'erreur de l'approximation linéaire par morceaux du gradient. Pour chaque composante du gradient, nous pouvons déterminer une telle métrique. Soit, à titre d'exemple, la première composante ux du gradient. Tel qu'admis pour les approximations linéaires par l'équation 2.2, nous avons que la métrique en lien avec l'erreur de l'approximation de ux est celle satisfaisant

dani(a,b)2 = (ab,HUx ab).

Chaque composante du gradient possède donc une métrique de la forme 2.1, indicatrice de son erreur d'approximation, ayant comme matrice M la matrice hessienne de la dérivée partielle. Chaque matrice M est alors composée de dérivées troisièmes de la fonction u.

Voici donc, en tant qu'exemple, les matrices Mx et My liées aux métriques des dérivées

premières ux et uy d'une fonction u(x,y).

Mx = My = lxxy UXxy ^xyy U3 ^ *xyy "yyyJ

Tel que mentionné plus haut, notons que, pour chaque dérivée, nous n'aurons pas à projeter les morceaux de fonctions linéaires pour en obtenir une fonction continue. Pour déterminer la matrice hessienne de chaque dérivée, nous choisissons plutôt d'effectuer une récupération des dérivées 3e à partir de l'approximation de u.

Mais que faire avec plusieurs métriques si nous n'en avons besoin que d'une? C'est là qu'intervient l'intersection de métriques, qui se charge de produire une matrice M de métrique préservant les bornes d'erreur pour chaque dérivée.

2.1. ADAPTATION PAR METRIQUE CLASSIQUE 23

2.1.4 I n t e r s e c t i o n d e m é t r i q u e s

Soit deux matrices symétriques définies positives M\ et À_2 de dimension 2 x 2 liées à deux métriques. Nous souhaitons intersecter celles-ci pour obtenir une nouvelle métrique respectant les propriétés de chacune. Pour ce, nous devons d'abord déterminer une base (ei,e2) dans laquelle nos deux matrices sont diagonales. C'est alors que nous introduisons la matrice N qui se définit comme suit.

TV = M{lM2

L e m m e 1

N est diagonalisable.

D é m o n s t r a t i o n

Nous savons que M\ est une matrice symétrique définie positive, ce qui nous permet d'affirmer que M\ est diagonalisable et donc nous pouvons écrire

Mi = QiAïQr1-

La matrice Ai est alors la matrice diagonale des valeurs propres de M\ et Q\ est sa matrice des vecteurs propres. Notons que puisque M\ est symétrique, Q\ est une matrice orthogonale, ce qui implique que Q \y = Q j .

Ecrivons M\ et Ml des manières suivantes

Mi = QiA'A'Qr

1

MT

l

= QiAf

2

Af

2

QT

l

Documents relatifs