54
1 Exposé en EDP Titre : Implémentation des éléments finis sous Matlab Présenter par : Mounir GRARI Najlae KORIKACHE

Exposé en EDP

  • Upload
    carl

  • View
    92

  • Download
    0

Embed Size (px)

DESCRIPTION

Exposé en EDP. Titre  : Implémentation des éléments finis sous Matlab. Présenter par : Mounir GRARI Najlae KORIKACHE. Implémentation des éléments finis sous Matlab. Plan. Introduction  Le problème exact  Discrétisation de Galerkin Représentation de la triangulation   - PowerPoint PPT Presentation

Citation preview

Page 1: Exposé en EDP

1

Exposé en EDP

Titre : Implémentation des éléments finis sous Matlab

Présenter par :Mounir GRARINajlae KORIKACHE

Page 2: Exposé en EDP

2

Plan

1. Introduction 2. Le problème exact 3. Discrétisation de Galerkin4. Représentation de la triangulation 5. La matrice de rigidité A6. Le côté droit b de l’équation7. Incorporation des états de Dirichlet8. Calcul de la solution numérique9. Équation de chaleur 10. Conclusion 11. Bibliographie

Implémentation des éléments finis sous Matlab

Page 3: Exposé en EDP

3

1. Introduction :Une courte exécution sous Matlab pour les éléments

finis P1-Q1, sur des triangles et des parallélogrammes, est donnée pour la résolution numérique des problèmes elliptiques avec des conditions aux frontières mixtes sur des grilles non structurées. Les programmes sous Matlab, que nous proposerons, utilisent la méthode des éléments finis pour calculer une solution numérique U approchée de la solution du problème bidimensionnel u de Laplace (P) avec des conditions mixtes aux frontières.

Implémentation des éléments finis sous Matlab

Page 4: Exposé en EDP

4

2. Le problème exact :Implémentation des éléments finis sous Matlab

Soit 2 un domaine ouvert borné et Lipschitzien avec une frontière polygonale . Sur un certain sous-ensemble fermé D de la frontière , nous considérons des conditions de Dirichlet, alors que nous avons les conditions de Neumann sur la partie restante : N \ D

Soient )(2 Lf , )(1 HuD et )(2NLg .

Cherchons )(1 Hu avec : (P)

fu Dans (1) Duu Sur D (2)

gnu

Sur N (3)

Page 5: Exposé en EDP

5

2. Le problème exact : Implémentation des éléments finis sous Matlab

(P) D’après le théorème de Lax-Milgram, il existe toujours une

solution faible de (1)-(3) ce qui donne la régularité intérieure (i.e., )(2 locHu ), et on a aussi un changement de conditions à la frontière.

fu Dans (1) Duu Sur D (2)

gnu

Sur N (3)

Page 6: Exposé en EDP

6

2. Le problème exact (Pb variationnel):Implémentation des éléments finis sous Matlab

Les conditions non homogènes de Dirichlet (2) sont associées à la décomposition :

Alors, la formulation faible (ou variationnel) du problème (P) est de : Rechercher )(1 DHv tel que :

(4)

)(,.... 1

DD HwwdxuwdsgwdxfwdxvN

Duuv donc 0v sur D , i.e., )(1

DHv DsurH 0/)(1

Page 7: Exposé en EDP

7

3. Discrétisation de Galerkin du problème:Implémentation des éléments finis sous Matlab

Pour l’implémentation, le problème (4) est discrétisé en utilisant la méthode standard de Galerkin où )(1 H et )(1 DH sont remplacés par des sous-espaces de dimensions finis S et 1

DD HSS , respectivement . Soit SUD une approximation de Du sur D (On définit DU comme étant un interpolant (relatif au nœud) de Du sur D ).

Donc le problème discret )( SP est de : chercher DSV tel que ;

,.. WdxUgWdsfWdxWdxV D

N

DSW (5)

Page 8: Exposé en EDP

8

3. Discrétisation de Galerkin du problème:Implémentation des éléments finis sous Matlab

Soit ),........,( 1 N une base de l’espace S de dimension fini, et soit ),........,(

1 Mii une base de DS où N.,1,.......i,,.........iI M1 est un ensemble d'index de cardinale 2NM . L’équation (5) est équivalente à :

En outre soit, Donc, l’équation (6) donne le système linéaire des équations :

,..

dxUdsgdxfdxV jDjjj

N

Ij (6)

Ik

kkxV et

N

kkkD UU

1

.

bAx (7)

Page 9: Exposé en EDP

9

Implémentation des éléments finis sous Matlab

Les coefficients de la matrice MMIkjjkAA

2,

)( et le coté droit M

Ijjbb )( sont définit par :

La matrice A est creuse, symétrique, définie positif, donc, le système (7) a exactement une solution Mx ce qui détermine la solution de Galerkin ;

dxA kjjk . et

N

kkjkjjj dxUdsgdxfb

N1

. (8)

Ik

kk

N

jjjD xUVUU

1

3. Discrétisation de Galerkin du problème :

Page 10: Exposé en EDP

10

4. Représentation de la triangulation :Implémentation des éléments finis sous Matlab

Supposant que le domaine a une frontière polygonale , nous pouvons recouvrir par une triangulation régulière T formée de triangles et de quadrilatères, i.e., tTt où chaque t est un triangle fermé ou un quadrilatère fermé.

Figure 1. Exemple de maillage

Page 11: Exposé en EDP

11

Implémentation des éléments finis sous Matlab

coordinates.dat contient les coordonnées de chaque nœud de maillage donné. Chaque ligne est de la forme : node# x-coord y-coord

Notre subdivision est formée de triangles et de quadrilatères.

Dans les deux cas, les nœuds sont numérotés dans le sens contraire

des aiguilles d'une montre.

4. Représentation de la triangulation:

Page 12: Exposé en EDP

12

Implémentation des éléments finis sous Matlab

Pour les triangles ; elements3.dat contient pour chacun triangle le nombre de nœuds (sommets).

Chaque ligne est de la forme : element# node1 node2 node3.

De même, les données pour les quadrilatères sont données dans

elements4.dat. Ici, nous employons le format :

element# node1 node2 node3 node4.

elements3.dat 1 2 3 13 2 3 4 13 3 4 5 15 4 5 6 15

elements4.dat 1 1 2 13 12 2 12 13 14 11 3 13 4 15 14 4 11 14 9 10 5 14 15 8 9 6 15 6 7 8

4. Représentation de la triangulation:

Page 13: Exposé en EDP

13

Implémentation des éléments finis sous Matlab

Les deux fichiers Neumann.dat et Dirichlet.dat contiennent dans chaque ligne les deux indices des nœuds attachés aux bords de la frontière :

Neumann edge# node1 node2 , resp., Dirichlet edge# node1 node2.

neumann.dat

1 5 6

2 6 7

3 1 2

4 2 3

dirichlet.dat

1 3 4

2 4 5

3 7 8

4 8 9

5 9 10

6 10 11

7 11 12

8 12 1

4. Représentation de la triangulation:

Page 14: Exposé en EDP

14

Implémentation des éléments finis sous Matlab

Dans la figure2, deux fonctions chapeaux typiques j définies pour chaque nœud ),( jj yx du maillage par :

jkkkj yx ),( , .,.......,1, Nkj

Figue2 : Fonctions chapeaux

4. Représentation de la triangulation:

Page 15: Exposé en EDP

15

Implémentation des éléments finis sous Matlab

Le sous espace SSD est l’espace des splines engendré par tout les j pour tout ),( jj yx qui ne se sont pas sur D . D’autre part DU est

définit comme étant un interpolant nodal de Du , dans S . Avec ces espaces S et DS et leurs bases correspondantes, les

intégrales dans la relation (8) peuvent être calculé comme somme de tous les éléments et aussi somme de tous les bords de l’arc N , c.-à-d.,

Tt t

kjjk dxA . (9)

Tt t

kj

N

kk

E Ej

Tt tjj dxUdsgdxfb

N

1

(10)

4. Représentation de la triangulation:

Page 16: Exposé en EDP

16

5. La matrice de rigidité:Implémentation des éléments finis sous Matlab

La matrice locale de rigidité est déterminée par les coordonnées des sommets de l'élément correspondant, elle est calculé, sous Matlab, par les fonctions stima3.m et stima4.m.

Pour un élément de la triangulation T , soient ),( 11 yx , ),( 22 yx et ),( 33 yx des

sommets et 1 , 2 et 3 les fonctions de base correspondantes dans S ,i.e., On a :

jkkkj yx ),( , .3,2,1, kj

22

11

22

11

111

det/111

det),(

jj

jj

jj

jj

jjj

yxyxyx

yxyx

yxyx

(11)

Page 17: Exposé en EDP

17

Implémentation des éléments finis sous Matlab

(11) D’où ;

Avec T est donné par :

22

11

22

11

111

det/111

det),(

jj

jj

jj

jj

jjj

yxyxyx

yxyx

yxyx

12

21

21),(

jj

jjj xx

yy

Tyx

12

12det2yyxx

T

13

13

yyxx

5. La matrice de rigidité:

Page 18: Exposé en EDP

18

Implémentation des éléments finis sous Matlab

L'entrée résultante de la matrice de rigidité est :

Avec l’index modulo 3. Ceci est écrit simultanément pour tous les index :

Avec,

12

21

12212 ,)2(

)(kk

kk

jjjjt

tkjjk

xx

yyxxyy

TT

dxM

tGGt

M .2

100

010111 1

321

321

yyyxxxG

5. La matrice de rigidité:

Page 19: Exposé en EDP

19

5. La matrice de rigidité:Implémentation des éléments finis sous Matlab

le programme sous Matlab est :

function M = stima3(vertices) d = size(vertices,2); G = [ones(1,d+1);vertices’] \ [zeros(1,d);eye(d)]; M = det([ones(1,d+1);vertices’]) * G * G’ / prod(1:d);

Page 20: Exposé en EDP

20

1

1

14

14

12

12),(yx

yyxx

yyxx

yx

T

,

Pour un élément quadrilatéral T, soient ),(,),........,( 4411 yxyx les sommets avec les fonctions chapeau correspondantes 41,......., .

Pour définir les 4 fonctions de bases j correspondantes au quadrilatéral de notre triangulation, on utilise la transformation affine du carré de référence 2]1,0[ vers notre quadrilatéral d’étude.

Il existe donc, une transformation affine définit par : ),(),(,]1,0[: 2 TT T

Donné par :

5. La matrice de rigidité:Implémentation des éléments finis sous Matlab

Page 21: Exposé en EDP

21

Implémentation des éléments finis sous Matlab

5. La matrice de rigidité:

1

1

14

14

12

12),(yx

yyxx

yyxx

yx

T

,

),1)(1(:),(1 ),1(:),(2

,:),(3 .)1(:),(4

Il existe donc, une transformation affine définit par :

),(),(,]1,0[: 2 TT T

Donné par :

Pour les éléments 2]1,0[ sur T. puis )),((),( 1 yxyx Tjj avec les fonctions

de la forme

Page 22: Exposé en EDP

22

Implémentation des éléments finis sous Matlab

5. La matrice de rigidité:De la loi de substitution il suit pour les intégrales (9) :

On résout ces intégrales à partir de la matrice locale de rigidité,

T kjjk yxdyxyxM ),(),().,(

21,0

11 ),(det)),())(())(,()(( dDM TT

TkTjk

),()),(()))((,(det 21,0

1 dDDDM TkT

TTjTjk

Page 23: Exposé en EDP

23

Implémentation des éléments finis sous Matlab

5. La matrice de rigidité:

)(232)(322)(232)(3

)(232)(2322)(32)(23

6det

cabcacabcacacabcacab

cabcacabcacacabcacab

DM T

Pour un élément de quadrilatère on aura :

Avec,

cb

ba

DD TT

T1))((

Page 24: Exposé en EDP

24

Sous Matlab,

function M = stima4(vertices) D_Phi = [vertices(2,:)-vertices(1,:); vertices(4,:)- ...

vertices(1,:)]’; B = inv(D_Phi’*D_Phi); C1 = [2,-2;-2,2]*B(1,1)+[3,0;0,-3]*B(1,2)+[2,1;1,2]*B(2,2); C2 = [-1,1;1,-1]*B(1,1)+[-3,0;0,3]*B(1,2)+[-1,-2;-2,-1]*B(2,2); M = det(D_Phi) * [C1 C2; C2 C1] / 6;

5. La matrice de rigidité:Implémentation des éléments finis sous Matlab

Page 25: Exposé en EDP

25

6. Assembler le côté droit de l’équation:Implémentation des éléments finis sous Matlab

Les forces extérieures sont employées pour assembler le côté droit. Utilisons la valeur de f au centre de gravité ),( SS yx de T, l'intégrale

dxf jT

en (10) est approximée par :

Tel que 6Tk si T est un triangle et 4Tk si T est un parallélogramme.

),(det1

13

13

12

12SS

Tj

T

yxfyyxx

yyxx

kdxf

Page 26: Exposé en EDP

26

Implémentation des éléments finis sous Matlab

6. Assembler le côté droit de l’équation:Le programme sous Matlab est :

% Volume Forces for j = 1:size(elements3,1)

b(elements3(j,:)) = b(elements3(j,:)) + ... det([1 1 1; coordinates(elements3(j,:),:)’]) * ... f(sum(coordinates(elements3(j,:),:))/3)/6;

end for j = 1:size(elements4,1)

b(elements4(j,:)) = b(elements4(j,:)) + ... det([1 1 1; coordinates(elements4(j,1:3),:)’]) * ... f(sum(coordinates(elements4(j,:),:))/4)/4;

end

Page 27: Exposé en EDP

27

Les valeurs de f sont données à partir de la fonction f.m qui dépend du problème. La fonction est définit par les coordonnées des points qui se trouve dans Ω et elle renvoie la force de volume a ces endroits. Pour l’exemple numérique représenté sur la figure 3 (solution du problème) nous avons employé :

function VolumeForce = f(x); VolumeForce = ones(size(x,1),1);

6. Assembler le côté droit de l’équation:Implémentation des éléments finis sous Matlab

Page 28: Exposé en EDP

28

Implémentation des éléments finis sous Matlab

De même, les conditions de Neumann contribuent au coté droit. En utilisant la valeur de g au centre ),( MM yx de E avec la longueur E ,

l’intégrale dsgE

j dans (10) est approché par :

Sous Matlab ;

% Neumann conditions for j = 1 : size(neumann,1)

b(neumann(j,:))=b(neumann(j,:)) + ... norm(coordinates(neumann(j,1),:) - ... coordinates(neumann(j,2),:)) * ... g(sum(coordinates(neumann(j,:),:))/2)/2;

end

).,(2 MM

Ej yxg

Edsg

6. Assembler le côté droit de l’équation:

Page 29: Exposé en EDP

29

Implémentation des éléments finis sous Matlab

Ici, nous employons le fait que sous Matlab la taille d’une matrice vide est placée par zéro et qu'une boucle de 1 à 0 est totalement omis. De cette façon, la question de l'existence des données de frontière de Neumann doit être renoncée. Les valeurs de g sont donnés par la fonction g.m qui dépend encore du problème. La fonction est définit avec les coordonnées des points sur N et retours les efforts correspondants. Pour l'exemple numérique g.m était :

function Stress = g(x) Stress = zeros(size(x,1),1);

6. Assembler le côté droit de l’équation:

Page 30: Exposé en EDP

30

7. Incorporation des états de Dirichlet:Implémentation des éléments finis sous Matlab

Avec une numérotation appropriée des nœuds, le système des équations linéaires résultant de la construction décrite dans la section précédente sans incorporer les états de Dirichlet peut être écrit comme suit :

Avec, MU , MN

DU . Ici, U sont les valeurs aux nœuds libres qui sont à déterminer, DU sont les valeurs aux nœuds qui sont sur la frontière de Dirichlet ainsi sont connus a priori.

DDT b

bUU

AA

A

A.

21

12

12

11,

(12)

Page 31: Exposé en EDP

31

Implémentation des éléments finis sous Matlab

% Dirichlet conditions u = sparse(size(coordinates,1),1); u(unique(dirichlet)) = u_d(coordinates(unique(dirichlet),:)); b = b - A * u;

Par conséquent, le premier bloc d'équations peut être récrit : C'est la formulation de (6) avec 0DU aux nœuds de non-Dirichlet. Dans le deuxième bloc d'équations dans (12) l'inconnu est Db mais puisqu'il n'a pas d’intérêt, il est omis dans le suivant.

DUAbUA .. 1211

7. Incorporation des états de Dirichlet:

Page 32: Exposé en EDP

32

Implémentation des éléments finis sous Matlab

Les valeurs Du aux nœuds sur D sont données par la fonction u_d.m qui dépend du problème. La fonction est appelée par les coordonnées aux points sur D et retourne les valeurs aux endroits correspondants.

Pour l'exemple numérique u_d.m était :

function DirichletBoundaryValue = u_d(x) DirichletBoundaryValue = zeros(size(x,1),1);

7. Incorporation des états de Dirichlet:

Page 33: Exposé en EDP

33

8. Calcul de la solution numérique:Implémentation des éléments finis sous Matlab

Les lignes de l'équation Ax = b correspondant aux M premières lignes du système (12) qui réduit le système des équations avec une matrice définie symétrique et positive de coefficient 11A .

Il est obtenu du système original des équations en prenant les lignes et les colonnes et on les fait correspondant les nœuds libres du problème. La restriction peut être réalisée sous Matlab à travers l’indexation appropriée. Le système des équations est résolu par l'opérateur binaire (installé sous Matlab) qui donne l'inverse gauche d'une matrice.

FreeNodes=setdiff(1:size(coordinates,1),unique(dirichlet)); u(FreeNodes)=A(FreeNodes,FreeNodes)\b(FreeNodes);

Page 34: Exposé en EDP

34

8. Calcul de la solution numérique:Implémentation des éléments finis sous Matlab

Matlab se sert des propriétés d'une matrice définie positive, symétrique pour résoudre le système des équations efficacement. Une représentation graphique de la solution est donnée par la fonction show.m.

function show(elements3,elements4,coordinates,u) trisurf(elements3,coordinates(:,1),coordinates(:,2),u’,...

’facecolor’,’interp’) hold on trisurf(elements4,coordinates(:,1),coordinates(:,2),u’,...

’facecolor’,’interp’) hold off view(10,40); title(’Solution of the Problem’)

Page 35: Exposé en EDP

35

Implémentation des éléments finis sous Matlab

Sous Matlab trisurf(ELEMENTS,X,Y,U) est utilisée pour dessiner des triangulations pour les éléments de types égaux. Chaque ligne de la matrice ELEMENTS détermine un polygone où les x-, y-, et z- coordonnées de chaque sommet de ce polygone est donnée par la correspondance avec X, Y et U respectivement. La couleur des polygones est donnée par des valeurs de U. Les paramètres additionnels, 'facecolor', 'interp', mènent à une coloration interpolée. La figure 3 illustre la solution pour le maillage définie dans la section 4 et les fichiers de données f.m, g.m, et u_d.m donnés dans les sections 6 et 7 .

8. Calcul de la solution numérique:

Page 36: Exposé en EDP

36

Implémentation des éléments finis sous Matlab

Figure 3. Solution du problème de Laplace

8. Calcul de la solution numérique:

Page 37: Exposé en EDP

37

Implémentation des éléments finis sous Matlab

Récapitulation :

Lignes 3-10: Chargement de la géométrie et initialisation du maillage. Lignes 11-19: Assemblée la matrice de rigidité dans deux boucles,

d'abord aux éléments des triangulaires, puis aux éléments des quadrilatères.

Lignes 20-30: Incorporation de la force de volume dans deux boucles, d'abord aux éléments des triangulaires, puis aux éléments des quadrilatères.

Lignes 31-35: Incorporation de l'état de Neumann. Lignes 36-39: Incorporation de l'état de Dirichlet. Lignes 40-41: Solution du système linéaire réduit. Lignes 42-43: Représentation graphique de la solution numérique.

8. Calcul de la solution numérique:

Page 38: Exposé en EDP

38

9. L'équation de la chaleur : Implémentation des éléments finis sous Matlab

Pour des méthodes numériques de l'équation de la chaleur,

avec un procédé implicite en temps d'Euler, nous subdivisons l'intervalle de temps [0, T] en N sous-intervalles ],[ 1 nn tt (n étant un nombre entier positif ou nul) tels que: avec 1 nn ttdt dénote le pas de temps fixe .

futu sur T,0

Tttt Nn ...........0 0

Page 39: Exposé en EDP

39

Implémentation des éléments finis sous Matlab

9. L'équation de la chaleur:Nous désignons par nu l’approximation de la température u au

temps ntn .

Pour l’approximation de tu

au temps ntn , nous utilisons la

formule suivante : dtuuu nn

n)( 1

où 1nu est l’approximation de la température u au temps 1nt , Ce qui mène à l'équation suivante: où ),( nn txff .

1)( nnn udtfudtid , (13)

Page 40: Exposé en EDP

9. L'équation de la chaleur:

40

La forme faible de (13) est : avec ; ),( nn txgg et les mêmes notations que celles dans la section 2. Pour chaque étape, cette équation est résolue en utilisant les éléments finis qui mène au système linéaire suivant : (La matrice de rigidités A et le côté droit b sont comme avant).

dxvuvdxgvdxfdtvdxudtdxvu nnnnn

1)(.

1)( nn BUdtbUBdtA

Implémentation des éléments finis sous Matlab

Page 41: Exposé en EDP

41

Implémentation des éléments finis sous Matlab

.

T T

kjjk dxB

La matrice B est le résultat des limites

vdxun , i.e.,

Pour la triangulation, affinez par morceaux les éléments que nous obtenons : L'annexe B montre le programme modifié de l'équation de la chaleur.

211121112

det241

13

13

12

12

yyxx

yyxx

dxT

kj

9. L'équation de la chaleur:

Page 42: Exposé en EDP

42

Implémentation des éléments finis sous Matlab

Le programme principal, listé dans l'annexe B, est structuré comme suit (les lignes référence ont la même numérotation dans l'annexe B) :

Lignes 3-11 : Chargement de la géométrie et initialisation du maillage Lignes 12-16 : Assemblée la matrice de rigidités A dans une boucle en tous les éléments triangulaires.

Lignes 17-20 : Assemblée la matrice de masse B dans une boucle en tous les éléments triangulaires.

Lignes 21-22 : Définir l'état initial du discret U. Lignes 23-48 : Boucle (aux au-dessus) étapes de temps.En particulier : Ligne 25 : (Dégager) le vecteur du côté droit. Lignes 26-31 : Incorporation de la force de volume à l'étape de temps n. Lignes 32-37 : Incorporation de la condition de Neumann à l'étape de temps n.

Lignes 38-39 : Incorporation de la solution à l'étape précédente de temps n -1.

Lignes 40-43 : Incorporation de la condition de Dirichlet à l'étape de temps n.

Lignes 44-47 : Solution du système linéaire réduit pour la solution à l'étape de temps n.

Lignes 49-50 : Représentation graphique de la solution numérique à l’étape temps final

9. L'équation de la chaleur:

Page 43: Exposé en EDP

43

L’exemple numérique a été basé sur le domaine dans la figure1, cette fois ; avec 0f et 1Du sur la frontière externe. La valeur sur le cercle (intérieur) est toujours 0Du . Sur les frontières de Neumann, nous avons toujours ),( nn txff La figure 4 montre la solution pendant quatre fois différentes : (T = 0:1, 0:2, 0:5 et T = 1). (T est la variable dans la ligne 10 du programme principal.)

Implémentation des éléments finis sous Matlab

9. L'équation de la chaleur:

Page 44: Exposé en EDP

44

Implémentation des éléments finis sous Matlab

9. L'équation de la chaleur:

Page 45: Exposé en EDP

45

10. Conclusion et exemples de problèmes à traiter :Implémentation des éléments finis sous Matlab

D’autres problèmes peuvent être traité par la méthode des éléments finis, à l’aide de Matlab, tels que :

Le problème non-linéaire :

Comme application simple du problème variationnel non convexe, nous considérons l'équation de Ginzburg-Landau

La formulation faible est donnée par :

uuu 3 dans , 0u sur (14)

0)(.:),( 3

dxvuudxvuvuJ )(10 Hv )15(

Page 46: Exposé en EDP

46

Implémentation des éléments finis sous Matlab

10. Conclusion et exemples de problèmes à traiter:

),,();,( 1 vuJuuvuDJ nnnn )(1

0 Hv )17(

Nous pouvons considérer également la condition nécessaire pour minimiser le problème variationnel Nous résoudrons (15) avec la méthode de Newton-Raphson. Commençant par un certain 0u , dans chacun étape d'itération, nous calculons )(1

01 Huu nn satisfaisant :

!141

2min

222 dxuu

)16(

Page 47: Exposé en EDP

47

Implémentation des éléments finis sous Matlab

10. Conclusion et exemples de problèmes à traiter :Les solutions ne sont pas uniques. En effet, pour tout minimum local u, -u est également un minimum et 0 résout aussi le problème. La fonction constante 1u mène à l'énergie nulle, mais viole la continuité ou on a les conditions aux frontières. Dans le problème en dimension finie, les différentes valeurs initiales

0u peut mener à différentes approximations numériques.

Page 48: Exposé en EDP

48

Implémentation des éléments finis sous Matlab

10. Conclusion et exemples de problèmes à traiter :La figure 5 montre deux solutions possibles trouvées pour deux différentes valeurs après environ 20-30 itérations.

Figure 5. Solution de l’équation non-linéaire

Page 49: Exposé en EDP

49

10. Conclusion et exemples de problèmes à traiter :Implémentation des éléments finis sous Matlab

Problèmes tridimensionnels :

Avec quelques modifications, le programme de Matlab pour des problèmes linéaires en deux dimensions étudié dans les sections 5-8 peut être prolongé aux problèmes à trois dimensions. Tétraèdres sont utilisés en tant qu'éléments finis. Les fonctions de base sont correspondantes à celles définie en deux dimensions, par exemple, pour un élément de tétraèdre T soient

)4,......,1)(,,( jzyx jjj les sommets et j les fonctions de base correspondantes, c.-à-d.,

,),,( jkkkkj zyx .4,,.........1, kj

Page 50: Exposé en EDP

50

Implémentation des éléments finis sous Matlab

Chacun des dossiers *.dat obtient une entrée additionnelle par ligne. Dans coordinates.dat, c’est le z éme-composant de chaque nœud ),,( jjjj zyxP Une entrée typique dans elements3.dat se relit maintenant :

j k l m n, Tel que k, l, m, n, sont les nombres de sommets nk PP ,......., du jéme élément. elements4.dat n'est pas utilisé pour des problèmes à trois dimensions.

10. Conclusion et exemples de problèmes à traiter :

Page 51: Exposé en EDP

51

Implémentation des éléments finis sous Matlab

L'ordre des nœuds est organisé tels que le côté droit de est positif. La numérotation des éléments définis dans neumann.dat et dirichlet.dat est fait avec le visionnement positif mathématique d'orientation de l'extérieur W sur la surface. La représentation graphique pour des problèmes à trois dimensions peut être faite par raccourcis version de show.m.

nmlk

nmlk

nmlk

zzzzyyyyxxxx

T

1111

det6

10. Conclusion et problèmes à traiter :

Page 52: Exposé en EDP

52

Implémentation des éléments finis sous Matlab

La distribution de la température d'un piston simplifié est présentée sur le schéma 6. Calcul de la distribution de la température avec 3728 nœuds et 15111 éléments (y compris le rendement graphique) prend quelques minutes sur un poste de travail.

10. Conclusion et exemples de problèmes à traiter :

Figure 6. La distribution de la température d'un piston

Page 53: Exposé en EDP

Bibliographie:

53

Implémentation des éléments finis sous Matlab

Article de J .Alberty , C.Carstensen et S.Funken, Remarks around 50 lines ef Matlab : short finite element implementation

S.C. Brenner et L.R. Scott, La théorie mathématique de méthodes d'élément fini, Textes dans Mathématiques appliquées, vol. 15 (Springer, New York, 1994).

P.G. Ciarlet, La méthode d'élément fini pour des problèmes elliptiques (la Nord-Hollande, Amsterdam, 1978).

L. Langemyr et autres., Le guide d'équation de l'utilisateur partiel de boîte à outils ( Math Works, Inc. 1995).

H.R. Schwarz, Der Finiten Elemente de Methode (Teubner, Stuttgart, 1991).

Page 54: Exposé en EDP

Merci