4.6 Exercices 139 Exercice 4.13 Équation de Poisson

4.6 Exercices 139
Exercice 4.13 Équation de Poisson polaire. Le but de cet exercice est de rendre
la méthode des différences finies très efficace grâce à la transformée de Fourier ra-
pide. L’idée est de résoudre une équation aux dérivées partielle dans le domaine des
sinusoïdes de Fourier. Grâce à la FFT, on dispose d’un moyen très rapide de passer
du domaine spacial au domaine de Fourier, et vice et versa.
On souhaite calculer, pour xD = ©yR2\ kyk61ª, le déplacement vertical
u(x), d’une membrane élastique circulaire soumis à une force surfacique f(x). Ce
déplacement vérifie l’équation de Poisson
½xD,u(x) = f(x),
xD, u(x) = g(x).(4.6.5)
a) Montrer qu’en coordonnées polaires, le problème (1)s’écrit
(r, θ)]0,1[×[0,2π[,2u
r2+1
r
u
r +1
r2
2u
θ2=f(r, θ),
θ[0,2π[, u(1, θ) = g(θ).
(2)
b) Sous l’hypothèse que la solution uest suffisamment régulière, on peut la développer
en séries de Fourier de θ. On cherche donc, pour Nθ>0une solution approchée
sous la forme
u(r, θ) =
Nθ/21
P
n=Nθ/2bun(r)einθ avec bun(r) = 1
2πR2π
0u(r, θ)einθdθ.
On développe de même θ7→ f(r, θ)et gen polynôme trigonométrique. Montrer
alors que uvérifie (2)si et seulement si
n∈ {−Nθ/2,...,Nθ/21},r]0,1[,d2bun
dr2+1
r
dbun
drn2
r2bun=b
fn.
c) Soit Nθ>0et Nr>0les nombres de points de discrétisation selon θet selon r.
On choisit les points de discrétisation
j= 1,...,Nθ, θj=2(j1)π
Nθ,et i= 1,...,Nr, ri= (i1/2)∆r,
avec r= 2/(2Nr1). On définit les matrices et vecteurs Scilab suivant, pour
n= 1,...,Nθ
U(i,j) =u(ri, θj),f(i,j) =f(ri, θj),g(i,j) =g(θj),
UU(i,n) =buen(ri),ff(i,n) =buen(ri),gg(n) =bgen,
en=n1si 16n6N/2et en=n1Nsi N/2< n 6N. Expliquer pourquoi
on peut calculer, de façon approchée, gg,ff et Ude la façon suivante
gg(n) =1
Nθ
Nθ
P
j=1g(j)e2
Nθ(j1)(n1),ff(n) =1
Nθ
Nθ
P
j=1f(j)e2
Nθ(j1)(n1),
UU(i,n) =
Nθ
P
j=1U(i,j)e2
Nθ(j1)(n1).
On admet que ces calculs se réalisent de façon très rapide (en temps O(Nθlog(Nθ)))
grâce aux instructions Scilab suivantes
gg = fft(g,-1); ff = fft(f,-1); U(i, :) = fft(U(i, :),1);
140 Chapitre 4 Application de la TFD 4.6
d) Montrer que l’on peut calculer de façon approchée les vecteurs v=UU( :,n) en
résolvant, pour n= 1,...,Nθl’équation aux différences finies
vi+12vi+vi1
(∆r)2+1
ri
vi+1vi1
2∆r+en2
r2
ivi=ff(i,n).(3)
Ecrire le système matriciel correspondant.
Programmer en Scilab les différentes étapes
Calcul de fet gpour des fonctions dont on connaît explicitement u.
Calcul de ff et gg avec la commande fft.
Calcul des UU( :,n) en résolvant (3).
Calcul de Uavec la commande fft.
Affichage du résultat et comparaison avec la solution exacte.
On pourra commencer par tester la résolution pour la fonction fétudiée à la
question 6. On doit obtenir une erreur kuUk2nulle (à la precision de Scilab
près). Comment expliquer ce phénomène ? Tester ensuite sur des fonctions uplus
complexes (comme par exemple la fonction u(r, θ) = exp(r3cos(θ))), et évaluer la
variation de l’erreur en fonction de Nret Nθ. Pouvait-on le prévoir ?
La figure 4.19 montre la solution de l’équation de poisson pour la fonction u
proposée à la question d.
1
0
−1
Z
−1
0
1
Y
1
0
−1
X
Fig. 4.19 Resolution de l’équation de Poisson en coordonnées
polaires
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !