Vous êtes sur la page 1sur 4

MACS2 Projets dterministes

Institut Galile Anne 2013-2014

PROJET no 1

Caroline Japhet

Diffrences Finies 2D - problme dune membrane vibrante

1 Rappels sur les diffrences finies


Rappelons que la drive f dune fonction f : R R est dfinie par :
f (x + h) f (x)
f (x) := lim .
h0 h
Gomtriquement, la drive correspond la pente de la tangente f en un point x et la limite est intuitivement
la pente (voir la figure 1.1).

f (x)

x
x x+h

Figure 1.1 Approximation de la drive et drive exacte

2 Drives du premier ordre


A partir de la dfinition mathmatique on obtient une approximation numrique naturelle de la drive.
On utilise la dfinition mathmatique pour une petite valeur de h pour approcher la drive. Cela conduit
lapproximation par une diffrence finie progressive (forward difference approximation) :
f (x + h) f (x)
f (x) .
h
On peut dfinir de manire analogue la diffrence finie rtrograde (backward difference approximation) par :
f (x) f (x h)
f (x) .
h

1
Pour calculer le terme derreur dans ces approximations, on utilise le dveloppement de Taylor de f en x,
1
f (x + h) = f (x) + f (x)h + f ()h2 , x x + h,
2
qui conduit
f (x) f (x h) h
f (x) = f (),
h 2
et ainsi la diffrence finie progressive est une approximation dordre 1 de la drive. On peut montrer le mme
rsultat pour la diffrence finie rtrograde.
Des approximations dordre plus lev peuvent tre obtenues en utilisant linformation des valuations de
la fonction des deux cts ou plus. Par exemple en utilisant la valeur de f gauche et droite de x, on peut
obtenir une approximation du second ordre. En utilisant les dveloppement de Taylor
1 1 (3)
f (x + h) = f (x) + f (x)h + f (x)h2 + f (1 )h3 , x 1 x + h,
2 6
1 1 (3)
f (x h) = f (x) f (x)h + f (x)h2

f (2 )h3 , x h 2 x,
2 6

on obtient, en soustrayant le deuxime dveloppement du premier,

f (x + h) f (x h) 1
f (x) = (f (3) (1 ) + f (3) (2 ))h2 ,
2h 12
et ainsi lapproximation est du second ordre. Notez que par le thorme des valeurs intermdiaires pour f (3)
continue, on peut simplifier le terme derreur
1 (3) 1
(f (1 ) + f (3) (2 ))h2 = f (3) ()h2 , 2 1 .
12 6

3 Drives dordre suprieur


Pour approcher des drives dordre suprieur, on utilise plus de termes dans les dveloppements de Taylor.
Par exemple pour la drive seconde, on peut utiliser
1 1 (3) 1 (4)
f (x + h) = f (x) + f (x)h + f (x)h2 + f (x)h3 + f (1 )h4 ,
2 6 24
1 1 (3) 1 (4)
f (x h) = f (x) f (x)h + f (x)h2 f (x)h3 + f (1 )h4 ,
2 6 24
o x 1 x + h et x h 2 x. En additionnant ces deux dveloppements, on trouve

f (x + h) 2f (x) + f (x h) 1
f (x) = f (4) ()h2 ,
h2 12
o lon a encore utilis le thorme des valeurs intermdiaires pour simplifier le terme derreur.
On a lapproximation suivante dordre 2 :

f (x + h) 2f (x) + f (x h)
f (x) . (1)
h2

Question 1. Construire un exemple permettant de reprsenter sur un graphe lordre des diffrentes approxi-
mations vues ci-dessus (utiliser une chelle logarithmique avec la fonction loglog de Matlab).

2
4 Problme de la membrane vibrante
On sintresse aux vibrations dune membrane fine (i.e. dpaisseur trs faible devant ses dimensions lat-
rales). On suppose que cette membrane est tendue sur un contour de forme dtermine, comme la peau dun
tambour. Au repos, la membrane est suppose horizontale. Si on considre un lment de surface au repos en
(x, y, 0), linstant t o la membrane vibre transversalement, llment de surface se situe en (x, y, z(x, y, t)). En
premire approximation, la relation fondamentale de la dynamique indique que llment de surface considr
z(x, y, t) satisfait, pour de faibles dplacements, lquation aux drives partielles suivante :

2z
z = 0, (x, y) , t > 0, (2)
t2

avec la tension de cette membrane (suppose isotrope et uniforme), sa masse par unit de surface et le
domaine dlimit par la membrane.
On suppose que = [0, L] [0, W ] et que la membrane est attache en y = 0 et en y = W , on impose ainsi
des conditions aux limites de Dirichlet/Neumann homognes la fonction z(x, y, t) :

z(0, y, t) = z(L, y, t) = 0, y [0, W ], t > 0,


z z (3)
(x, 0, t) = (x, W, t) = 0, x [0, L], t > 0.
y y

Nous nous intressons la recherche des modes propres : On cherche z(x, y, t) solution de (2) (3) de la forme

z(x, y, t) = u(x, y)sin(t).

En particulier u est solution de

u(x, y) = k 2 u(x, y), (x, y) ,


u(0, y, t) = u(L, y, t) = 0, y [0, W ], t > 0,
(4)
u u
(x, 0, t) = (x, W, t) = 0, x [0, L], t > 0.
y y
q

avec k = c, o c = est la vitesse de propagation de londe dans la membrane. La rsolution de ce problme
dpend de la forme du contour, suppose ici rectangulaire. Un exemple avec L = 100, W = 12, est donn figure
4.1.

5 5

0 0

5 5

90 90

80 80

70 70

60 60

50 50

40 40

30 30

20 20

10 10
10 10
5 5
0 0

Figure 4.1 vibrations dune membrane (avec conditions de Dirichlet-Neumann)

3
5 Rsolution approche du problme (4) par une mthode de diff-
rences finies
Discrtisation en espace
On commencera par discrtiser le rectangle = [0, L] [0, W ] de manire uniforme suivant x et y. On
se donne un entier n > 0 tel que lon ait n + 1 intervalles en x et un entier m > 0 tel que lon ait m 1
L W
intervalles en y. Le pas de discrtisation en x est alors dfini par hx = n+1 et celui en y par hy = m1 . On
rappelle quidalement hx et hy sont petits devant 1. On considre les points du rectangle regulirement espacs :
(xi , yj ) := (ihx , jhy ), pour i = 0, n + 1, j = 0, m 1.

Discrtisation des quations


Question 2. Proposer une discrtisation du problme (4), en utilisant les approximations par diffrences finies
vues la Section 1.

Question 3. Ecrire une fonction MatriceLaplacien.m prenant en paramtres dentre L, W, n, m et retournant


la matrice issue de la discrtisation du Laplacien avec conditions au bord de Dirichlet/Neumann. On proposera
des tests de validation de cette matrice.

Question 4. Trouver les valeurs propres et vecteurs propres de cette matrice en utilisant la fonction eigs de
Matlab. Pour quelques valeurs propres, reprsenter les modes graphiquement laide de la commande Matlab
C = reshape(U (:, i), n, m) o U est la matrice contenant les vecteurs propres.
L
Remarque 1 : Pour simplifier, on pourra prendre le mme pas en x et en y : pour n donn, h = hx = hy = n+1
W W
et m = [ h ] + 1 (dans ce cas on a = [0, L] [0, [ h ]h). La fonction MatriceLaplacien.m prendra alors en
paramtres dentre L, W et n.
Remarque 2 : Dans un premier temps on pourra considrer des conditions de Dirichlet homogne sur le bord
W
complet . Dans ce cas on considrera m + 1 intervalles en y, et hy = m+1 .

Vous aimerez peut-être aussi