PYL: c sept 06
(Lagrée P.-Y.),
LMM-Univ PARIS 6, B 162,
4 place Jussieu, 75252 PARIS
pyl(a)ccr.jussieu.fr
http://www.lmm.jussieu.fr/~lagree
Résolution numérique explicite de l'équation
des ondes
On veut résoudre l'équation des ondes:
ò2u ò2u
--- = --- ;
òt2 òx2
ou, si on préfère:
òu òp òp òu
-- = - -- ; -- = - --
òt òx òt òx
avec comme condition initiale u(x,t=0)=0, p(x,t=0)
et comme conditions aux limites
(par exemple dans le cas du tube ouvert)
u(0,t)=cos(ww t) p(x=1,t)= 0.
On discrétise classiquement en temps et en espace.
Soit dt le pas de temps de discrétisation, la dérivée temporelle
òu/òt devient
(u(t,x)- u(t-dt,x))/dt
Soit dx le pas d'espace
une approximation au pas de temps (t) de la dérivée simple
òp/òx en x est:
(p(t,x+dx) - p(t,x-dx))/(2dx).
Connaissant donc
u en x au pas de temps t-dt, on obtient au temps t:
u(t,x)= u(t-dt,x) - ((p(t,x+dx) - p(t,x-dx))/dx) dt
p(t,x)= p(t-dt,x) - ((u(t,x+dx) - u(t,x-dx))/dx) dt
On affine la précision en temps en remarquant qu'au second ordre
(les dérivées sont prises en (t-dt,x)):
u(t,x)=u(t-dt,x) + dt(òu/òt) + (dt2/2)ò2u/òt2+ ...
qui est compte tenu de l'équation des ondes devient
u(t,x)=u(t-dt,x) + dt(òu/òt) + (dt2/2)ò2u/òx2+ ...
Il s'agit de la méthode de Lax Wendroff
En pratique, on note u(t,x) sous la forme du tableau u[j], et u(t-dt,x)
est noté uo[j].
L'équation des ondes discrétisée s'écrit:
u[j]= uo[j] - dt * ((po[j+1]-po[j-1])/2/dx -(dt/2)(uo[j-1]-2*uo[j]+uo[j+1])/dx/dx)
p[j]= po[j] - dt * ((uo[j+1]-uo[j-1])/2/dx -(dt/2)(po[j-1]-2*po[j]+po[j+1])/dx/dx)
Conditions aux limites
- Cas des conditions données aux bornes:
par exemple en j=0 u[0]=u0 en j=n, p[n]=p1.
on impose les valeurs, et l'autre équation est discrétisée au premier
ordre:
p[0]= po[0] - dt * (uo[1]-uo[0] )/dx
u[n]= uo[n] - dt * (po[n]-po[n-1])/dx
- Cas d'un tube ouvert en 1:
p[n]=0;
u[n]= uo[n] - dt * (po[n]-po[n-1])/dx ;
- Cas d'une tube fermé en 1:
p[n]= po[n] - dt * (uo[n]-uo[n-1])/dx;
u[n]=0;
- Cas d'un tube infini, sortie de type caractéristique:
quand le tube est infini, il n'y a pas d'onde retour, on approxime:
u[n]= uo[n] - dt * (uo[n]-uo[n-1])/dx
p[n]= po[n] - dt * (po[n]-po[n-1])/dx ;}
- Cas ...
Je suis preneur de conditions simples à implémenter...
... ... ... ... ...
Ces équations résolvent ce qui se passe dans un tube de Knudt.
retour à l'applet Java
de la résolution
explicite de l'équation des ondes, modification du pas
de temps et des conditions aux limites en direct.
La source pour la solution de l'équation
Les sources en zip
de l'ensemble pour l'interface graphique
(inspirée de GraphLayout Sun/Apple).
Liens :
D. Euvrard (1994)
Résolution numérique des équations aux dérivées partielles de la physique, de la mécanique et des sciences de l'ingénieur : Différences finies, éléments finis, problèmes en domaines non bornés (Broché)
www.ams.sunysb.edu/~shock/FTnotes/frontier/lecture03/sld008.htm
www.astro.uu.se/~bf/course/numhd_course/2_4_8Lax_Wendroff_scheme.html
ww.hm5.aitai.ne.jp/~minemura/index-E.html