Sous-sections

3.5 Équation des ondes

3.5.1 Problème physique: propagation d'une onde sonore

On considère la propagation d'une onde sonore plane dans tube de longueur \bgroup\color{black}$ 2L$\egroup contenant un milieu au repos de densité \bgroup\color{black}$ \rho_{0}$\egroup et de pression \bgroup\color{black}$ p_{0}$\egroup . Le milieu est perturbé à l'instant initial par une fluctuation de pression \bgroup\color{black}$ w(x)$\egroup ne dépendant que de la direction spatiale \bgroup\color{black}$ x$\egroup et sans vitesse initiale (i.e. \bgroup\color{black}$ \frac{\partial p}{\partial t}(x,0)=0$\egroup ). La densité \bgroup\color{black}$ \rho(x,t)+\rho_{0}$\egroup , la pression \bgroup\color{black}$ p(x,t)+p_{0}$\egroup et la vitesse \bgroup\color{black}$ u(x,t)$\egroup du milieu perturbée sont solutions des équations de conservation d'Euler, qui décrivent la dynamique d'un gaz non visqueux. En supposant que les perturbations sont faibles (hypothèse de l'acoustique), l'équation de conservation de la masse s'écrit au premier ordre:

\bgroup\color{black}$\displaystyle \frac{\partial\rho}{\partial t}+\rho_{0}\frac{\partial u}{\partial x}=0$\egroup

De même l'équation de conservation de la quantité de mouvement s'écrit au premier ordre:

\bgroup\color{black}$\displaystyle \rho_{0}\frac{\partial u}{\partial t}+\frac{\partial p}{\partial x}=0$\egroup

Les fluctuations étant faibles, on peut supposer l'écoulement isentropique, i.e.:

\bgroup\color{black}$\displaystyle \frac{dp}{p_{0}}-\gamma\frac{d\rho}{\rho_{0}}=0    \Rightarrow    \frac{p}{p_{0}}=\gamma\frac{\rho}{\rho_{0}}$\egroup

De ces relations on en déduit un système d'équations hyperbolique sur \bgroup\color{black}$ p$\egroup et \bgroup\color{black}$ u$\egroup :


$\displaystyle \frac{\rho_{0}}{\gamma p_{0}}\frac{\partial p}{\partial t}+\rho_{0}\frac{\partial u}{\partial x}$ $\displaystyle =$ 0  
$\displaystyle \rho_{0}\frac{\partial u}{\partial t}+\frac{\partial p}{\partial x}$ $\displaystyle =$ 0  

En dérivant la première équation par rapport à t et la seconde par rapport à x, on obtiens par différence l'équation des ondes pour la fluctutation de pression \bgroup\color{black}$ p$\egroup :

\bgroup\color{black}$\displaystyle \frac{\partial^{2}p}{\partial t^{2}}+\frac{\gamma p_{0}}{\rho_{0}}\frac{\partial^{2}p}{\partial x^{2}}=0$\egroup

Si les deux extrémités du tube sont ouvertes, on peut considérer que la pression y est constante et égale à \bgroup\color{black}$ p_{0}$\egroup . La fluctuation de pression vérifie alors une condition de Dirichlet homogène \bgroup\color{black}$ p=0$\egroup en \bgroup\color{black}$ x=-L$\egroup et \bgroup\color{black}$ x=L$\egroup . Dans le cas d'extrémités fermés (parois solides), la fluctuation de vitesse y est nulle, et la fluctuation de pression vérifie une condition de Neumann \bgroup\color{black}$ \frac{\partial p}{\partial x}=0$\egroup en \bgroup\color{black}$ x=-L$\egroup et \bgroup\color{black}$ x=L$\egroup (car \bgroup\color{black}$ \frac{\partial p}{\partial x}=-\rho_{0}\frac{\partial u}{\partial t}=0$\egroup si \bgroup\color{black}$ u=0$\egroup ).

Pour un tube ouvert, la fluctuation de pression \bgroup\color{black}$ p(x,t)$\egroup est solution de l'équation des ondes, avec les conditions aux limites et initiales suivantes:

$\displaystyle \frac{\partial^{2}p}{\partial t^{2}}-\frac{\gamma p_{0}}{\rho_{0}}\frac{\partial^{2}p}{\partial x^{2}}=0\textrm{}$    
$\displaystyle p(-L,t)=0,  p(L,t)=0$    
$\displaystyle p(x,0)=w(x),  \frac{\partial p}{\partial t}(x,0)=0$    

Cette équation décrit la propagation d'ondes de pression avec une célérité \bgroup\color{black}$ c_{0}=\sqrt{\frac{\gamma p_{0}}{\rho_{0}}}$\egroup . Le problème modèle associé s'écrit:

$\displaystyle (P_{1})\left\{ \begin{array}{ll} \frac{\partial^{2}u}{\partial t^...
...{\partial u}{\partial t}(x,0)=0 & \mbox{conditions initiales}\end{array}\right.$ (3.45)

3.5.2 Étude de la solution analytique

En effectuant le changement de variables \bgroup\color{black}$ X=x-c_{0}t$\egroup et \bgroup\color{black}$ Y=x+c_{0}t$\egroup , l'équation (3.45) s'écrit:

\bgroup\color{black}$\displaystyle \frac{\partial^{2}u(X,Y)}{\partial X\partial Y}=0$\egroup

dont la solution est \bgroup\color{black}$ u(X,Y)=F(X)+G(Y)$\egroup . La solution générale \bgroup\color{black}$ u(x,t)$\egroup de l'équation des ondes (3.45) s'écrit:

\bgroup\color{black}$\displaystyle u(x,t)=F(x-c_{0}t)+G(x+c_{0}t)$\egroup

qui est la somme d'une onde progressive \bgroup\color{black}$ F$\egroup qui se propage avec la célérité \bgroup\color{black}$ c_{0}$\egroup et d'une onde régressive \bgroup\color{black}$ G$\egroup qui se propage avec la célérité \bgroup\color{black}$ -c_{0}$\egroup . Les fonctions \bgroup\color{black}$ F$\egroup et \bgroup\color{black}$ G$\egroup sont déterminées par les conditions initiales et aux limites du problème. Nous étudierons plus particulièrement les deux cas suivants:

3.5.2.1 cas 1: propagation d'un créneau

On suppose que la perturbation à l'instant initiale est un créneau de largeur \bgroup\color{black}$ 2\delta$\egroup centré en \bgroup\color{black}$ x=0$\egroup , qui peut être définie mathématiquement sous la forme:

\bgroup\color{black}$\displaystyle w(x)=Heaviside(x+\delta)*Heaviside(\delta-x)$\egroup

Les fonctions \bgroup\color{black}$ F$\egroup et \bgroup\color{black}$ G$\egroup doivent donc vérifier à l'instant initial les deux équations:

\bgroup\color{black}$\displaystyle F(x)+G(x)=w(x)  $\egroup  et \bgroup\color{black}$\displaystyle   -c_{0}F'(x)+c_{0}G'(x)=0$\egroup

dont les solutions, à une constante additive près, s'écrivent:

\bgroup\color{black}$\displaystyle F(x)=\frac{1}{2}w(x)+K,      G(x)=\frac{1}{2}w(x)-K$\egroup

La solution \bgroup\color{black}$ u_{1}(x,t)$\egroup :

$\displaystyle u_{1}(x,t)=\frac{1}{2}(w(x-c_{0}t)+w(x+c_{0}t))$ (3.46)

décrit la propagation dans des directions opposées de deux créneaux de hauteur égale à la moitié de la hauteur initiale. Cette solution vérifie les conditions aux limites tant que les créneaux n'ont pas atteint les frontières, i.e. pour \bgroup\color{black}$ t<\frac{L}{c_{0}}$\egroup . Lorsque le créneau sort du domaine à \bgroup\color{black}$ t_{1}=\frac{L}{c_{0}}$\egroup , la solution (3.46) ne vérifie plus les conditions aux limites puisque \bgroup\color{black}$ u_{1}(-L,t_{1})=\frac{1}{2}$\egroup et \bgroup\color{black}$ u_{1}(+L,t_{1})=\frac{1}{2}$\egroup . Pour que ces conditions soient vérifiées, il faut qu'une autre onde \bgroup\color{black}$ u_{2}(x,t)$\egroup de signe opposé rentre dans le domaine en \bgroup\color{black}$ x=-L$\egroup et \bgroup\color{black}$ x=L$\egroup , de telle sorte que \bgroup\color{black}$ u_{1}(-L,t)+u_{2}(-L,t)=0$\egroup et \bgroup\color{black}$ u_{1}(L,t)+u_{2}(L,t)=0$\egroup . Cela correspond à la réflexion de l'onde initiale sur la frontière. Cette onde entrante s'écrit:

\bgroup\color{black}$\displaystyle u_{2}(x,t)=-\frac{1}{2}(w(x+2L-c_{0}t)+w(x-2L+c_{0}t))$\egroup

Elle correspond à la propagation de deux ondes d'amplitude \bgroup\color{black}$ -\frac{1}{2}$\egroup qui traversent le domaine et ressortent à \bgroup\color{black}$ t_{2}=3t_{1}=\frac{3L}{c_{0}}$\egroup . A nouveau pour que la solution vérifie les conditions aux limites, il faut qu'une onde \bgroup\color{black}$ u_{3}(x,t)$\egroup de signe opposé rentre dans le domaine. Cette onde s'écrit:

\bgroup\color{black}$\displaystyle u_{3}(x,t)=+\frac{1}{2}(w(x+4L-c_{0}t)+w(x-4L+c_{0}t))$\egroup

Elle correspond à la propagation de 2 ondes d'amplitude \bgroup\color{black}$ \frac{1}{2}$\egroup , qui traversent le domaine et qui à \bgroup\color{black}$ t_{3}=4t_{1}=\frac{4L}{c_{0}}$\egroup se rencontrent pour reformer l'onde initiale \bgroup\color{black}$ w(x)$\egroup . Le processus est ensuite périodique.

La solution \bgroup\color{black}$ u(x,t)$\egroup est donc une solution périodique, de période \bgroup\color{black}$ 4t_{1}=\frac{4L}{c_{0}}$\egroup , qui correspond à la somme de ces 3 ondes pour \bgroup\color{black}$ 0<t<\frac{4L}{c_{0}}$\egroup :


$\displaystyle u(x,t)$ $\displaystyle =$ $\displaystyle \frac{1}{2}(w(x-c_{0}t)+w(x+c_{0}t)-w(x+2L-c_{0}t)-w(x-2L+c_{0}t)$  
  $\displaystyle +$ $\displaystyle w(x+4L-c_{0}t)+w(x-4L+c_{0}t))    $pour $\displaystyle 0<t<\frac{4L}{c_{0}}$ (3.47)

On a tracé sur la figure (3.23) l'évolution temporelle de cette solution sur une période. On observe bien la réflexion des ondes sur les parois du domaine.

Figure 3.23: Solution exacte de l'équation des ondes (cas 1)
[]\includegraphics[width=0.2\paperwidth,keepaspectratio]{CHAP3/ondes1}[]\includegraphics[width=0.2\paperwidth,keepaspectratio]{CHAP3/ondes2}[]\includegraphics[width=0.2\paperwidth,keepaspectratio]{CHAP3/ondes3}

Le programme Maple (3.5.2) permet de tracer l'animation temporelle de cette solution en utilisant la fonction Maple animate.


programme Maple 3.5.2: Solutions exactes de l'équation des ondes 3.45 (cas 1 et 2)

> restart: with(plots):
# Solution exacte equation des ondes: cas 1
> delta:=1/10;
> w:=x->Heaviside(x+delta)*Heaviside(delta-x);
> u(t,x)=1/2*(w(x-c0*t)+w(x+c0*t))-1/2*(w(x+2*L-c0*t)+
  w(x-2*L+c0*t))+1/2*(w(x+4*L-c0*t)+w(x-4*L+c0*t));sol:=rhs(%):
> animate(subs(c0=1,L=1,sol),x=-1..1,t=0..4,numpoints=200,frames=100);
# Solution exacte equation des ondes: cas 2
> m:=3;Tf:=4*L/c0/(2*m+1);
> u(t,x)=cos((2*m+1)*Pi/2*x/L)*cos((2*m+1)*Pi/2*c0/L*t);sol:=rhs(%):
> animate(subs(c0=1,L=1,sol),x=-1..1,t=0..4/7,numpoints=200,frames=100);

3.5.2.2 cas 2: onde stationnaire

Dans le cas d'une solution initiale harmonique, i.e. de période multiple de \bgroup\color{black}$ 2L$\egroup :

\bgroup\color{black}$\displaystyle w(x)=\cos\left(\frac{(2k+1)\pi}{2}\frac{x}{L}\right)$\egroup

la solution s'écrit d'après (3.46):

\bgroup\color{black}$\displaystyle u(x,t)=\frac{1}{2}\left(\cos\left(\frac{(2k+1...
...}\right)+\cos\left(\frac{(2k+1)\pi}{2} \frac{x+c_{0}t}{L}\right)\right)$\egroup

qui après transformation trigonométrique donne:

$\displaystyle u(x,t)=\cos\left(\frac{(2k+1)\pi}{2}\frac{x}{L}\right)\cos\left(\frac{(2k+1)\pi}{2}\frac{c_{0}t}{L}\right)$ (3.48)

C'est une onde stationnaire de période \bgroup\color{black}$ T=\frac{4L}{(2k+1)c_{0}}$\egroup , dont on a tracé la représentation sur la figure (3.24) pour \bgroup\color{black}$ m=3$\egroup . Le programme Maple (3.5.2) permet de tracer l'animation temporelle de cette solution.

Figure 3.24: Solution exacte de l'équation des ondes (cas 2)
\includegraphics[scale=0.5]{CHAP3/ondes4}

3.5.2.3 cas général

On peut montrer, en utilisant la méthode de séparation de variables, que la solution générale de l'équation des ondes (3.45) est une combinaison linéaire d'ondes stationnaires:

$\displaystyle u(x,t)=\sum_{k=0}^{\infty}U_{k}\cos\left(\frac{(2k+1)\pi}{2}\frac{x}{L}\right)\cos\left(\frac{(2k+1)\pi}{2}\frac{c_{0}t}{L}\right)$ (3.49)

Les coefficients \bgroup\color{black}$ U_{k}$\egroup sont alors les coefficients de Fourier de la solution initiale \bgroup\color{black}$ w(x)$\egroup . Ainsi la solution du créneau (3.47) peut aussi s'écrire sous la forme d'une combinaison d'ondes stationnaires (3.49), mais dans ce cas le nombre d'ondes stationnaires à considérer est très grands (infinie en théorie), car la série de Fourier associée converge très lentement.

3.5.3 Discrétisation avec un schéma explicite centré

La discrétisation de l'équation des ondes (3.45) par un schéma de différences finies explicite centré s'écrit:

$\displaystyle \frac{u_{i}^{n+1}-2u_{i}^{n}+u_{i}^{n-1}}{dt^{2}}=c_{0}^{2}\left(\frac{u_{i+1}^{n}-2u_{i}^{n}+u_{i-1}^{n}}{dx^{2}}\right)$ (3.50)

C'est un schéma explicite qui donne la valeur inconnue \bgroup\color{black}$ u_{i}^{n+1}$\egroup à l'étape \bgroup\color{black}$ t^{n+1}$\egroup en fonction des valeurs connues \bgroup\color{black}$ \{u_{i}^{n},u_{i+1}^{n},u_{i-1}^{n},u_{i}^{n-1}\}$\egroup à l'étape \bgroup\color{black}$ t^{n}$\egroup et \bgroup\color{black}$ t^{n-1}$\egroup comme indiqué sur le diagramme (3.25).

Figure 3.25: schéma explicite centrée pour l'équation des ondes
\begin{figure}\begin{centering}
\input{schemondes.pstex_t}
\par
\end{centering}\par\par
\end{figure}

3.5.3.1 Étude de la stabilité

L'étude de la stabilité se fait classiquement avec la méthode de perturbation de Neumann. L'évolution temporelle d'un mode de Fourier d'une perturbation \bgroup\color{black}$ \varepsilon_{i}^{n}=\psi^{n}e^{I\omega idx}$\egroup vérifie l'équation aux différences, soit après simplification par \bgroup\color{black}$ e^{I\omega idx}$\egroup :

\bgroup\color{black}$\displaystyle \psi^{n+1}-2\psi^{n}+\psi^{n-1}=2\psi^{n}\frac{dt^{2}c_{0}^{2}(\cos(\omega dx)-1)}{dx^{2}}$\egroup

En notant \bgroup\color{black}$ G=\frac{\psi^{n+1}}{\Psi^{n}}$\egroup le facteur d'amplification du schéma, la relation de récurrence à 2 niveaux précédente conduit à l'équation du second degré suivante:

$\displaystyle G^{2}-2(1-2C_{FL}^{2}\sin(\frac{\omega dx}{2})^{2})G+1=0$ (3.51)

dans laquelle on a introduit le nombre de Courant \bgroup\color{black}$ C_{FL}$\egroup :

$\displaystyle C_{FL}=\frac{c_{0}dt}{dx}$ (3.52)

Le mode de Fourier \bgroup\color{black}$ \varepsilon_{i}^{n}$\egroup est donc une combinaison linéaire des racines \bgroup\color{black}$ G_{1}$\egroup et \bgroup\color{black}$ G_{2}$\egroup de cette équation (3.51):

$\displaystyle \varepsilon_{i}^{n}=(\alpha_{1}(G_{1})^{n}+\alpha_{2}(G_{2})^{n})e^{I\omega idx}$ (3.53)

Si cette perturbation ne croît pas au cours du temps, le schéma est stable. Il faut donc:

\bgroup\color{black}$\displaystyle \left\vert G_{1}\right\vert\le1 $\egroup   et  \bgroup\color{black}$\displaystyle  \left\vert G_{2}\right\vert\le1  \forall\omega$\egroup

D'après l'équation (3.51), le produit des racines \bgroup\color{black}$ G_{1}G_{2}$\egroup est égal à \bgroup\color{black}$ 1$\egroup . Donc si les racines sont réelles, l'une des racines est en module supérieure à \bgroup\color{black}$ 1$\egroup et le schéma est instable. Par contre si les racines sont complexes conjuguées, leur module est égale à 1 et le schéma est stable. Pour que l'équation (3.51) ait des racines complexes, il faut que son discriminant soit négatif, i.e. que:

\bgroup\color{black}$\displaystyle (1-2C_{FL}^{2}\sin(\frac{\omega dx}{2})^{2})^{2}<1$\egroup

soit:

\bgroup\color{black}$\displaystyle 2C_{FL}^{2}\sin(\frac{\omega dx}{2})^{2}<2   \forall\omega$\egroup

ce qui conduit à la condition classique de Courant:

$\displaystyle C_{FL}<1$ (3.54)

Le schèma explicite est donc conditionnellement stable avec une condition de stabilité donnée par la condition de Courant (3.54).

3.5.3.2 Étude de la consistance

Pour étudier la consistance de ce schéma, nous utiliserons le programme Maple (3.5.3).


programme Maple 3.5.3: Etude de la consistance du schèma explicite 3.50

> restart;with(plots):
# Etude de l'equation des ondes
> diff(U(t,x),t$2)-c0^2*diff(U(t,x),x$2)=0;eq:=%:
# Schema discret D.F.
> (U[n+1,i]-2*U[n,i]+U[n-1,i])/dt^2=
  c0^2*(U[n,i+1]-2*U[n,i]+U[n,i-1])/dx^2; eqh:=%:
# Consistance
> Uex:=(p,q)->U(t+(p-n)*dt,x+(q-i)*dx);
> subs(U[n,i]=Uex(n,i),U[n-1,i]=Uex(n-1,i),
      U[n,i+1]=Uex(n,i+1),U[n,i-1]=Uex(n,i-1),
      U[n+1,i]=Uex(n+1,i),lhs(eqh)-rhs(eqh)); rel3:=%:
> expand(simplify(rel3-lhs(eq)));rel4:=%:
# Develt en serie de Taylor
> U(t+dt,x)=convert(mtaylor(U(t+dt,x),[dt],6),diff);S1:=%:
> U(t-dt,x)=convert(mtaylor(U(t-dt,x),[dt],6),diff):S2:=%:
> U(t,x+dx)=convert(mtaylor(U(t,x+dx),[dx],6),diff):S3:=%:
> U(t,x-dx)=convert(mtaylor(U(t,x-dx),[dx],6),diff):S4:=%:
# Erreur de tronacture
> simplify(subs(S1,S2,S3,S4,rel4));
> ErrT:=collect(%,dt);
# transformation a l'aide de l'equation
> eq;diff(U(t,x),t$4)=c0^4*diff(U(t,x),x$4);
> simplify(subs(%,ErrT));

Le programme fournit l'erreur de troncature suivante:

\bgroup\color{black}$\displaystyle ErrT=\left(-\frac{1}{12}c_{0}^{2} \frac{\par...
...1}{12}\frac{\partial^{4}u}{\partial t^{4}}dt^{2}\right)+O(dx^{4},dt^{4})$\egroup

que l'on peut transformer en dérivant 2 fois l'équation (3.45), et en introduisant le nombre de Courant (3.52):

\bgroup\color{black}$\displaystyle ErrT=\frac{c_{0}^{2}dx^{2}}{12}\left(C_{FL}^{2}-1\right)\frac{\partial^{4}u}{\partial x^{4}}+O(dx^{4},dt^{4})$\egroup

Le schéma explicite est donc consistant à l'équation des ondes. Il est d'ordre 2 en espace et en temps.

On peut montrer que pour la valeur particulière \bgroup\color{black}$ C_{FL}=1$\egroup , l'erreur de troncature est exactement nulle, et la solution exacte est alors solution de l'équation discrète. Pour \bgroup\color{black}$ C_{FL}=1$\egroup (limite de stabilité), le schéma explicite fournit donc la solution exacte de l'équation des ondes.

D'après ce calcul d'erreur de troncature, l'équation aux différences finies (3.50) est donc équivalente à l'équation suivante:

\bgroup\color{black}$\displaystyle \frac{\partial^{2}u}{\partial t^{2}}-c_{0}^{2...
...}u}{\partial x^{2}}+c_{0}^{2}\beta\frac{\partial^{4}u}{\partial x^{4}}=0$\egroup

avec un coefficient \bgroup\color{black}$ \beta$\egroup égal à :

\bgroup\color{black}$\displaystyle \beta=\frac{dx^{2}}{12}\left(C_{FL}^{2}-1\right)$\egroup

C'est une équation d'ondes avec dispersion dont la solution élémentaire s'écrit:

\bgroup\color{black}$\displaystyle u(x,t)=e^{I\omega x}e^{I\omega c_{0}\sqrt{1+\beta\omega^{2}}t}$\egroup

Cette solution correspond à la propagation d'une onde avec une célérité \bgroup\color{black}$ c_{0}\sqrt{1+\beta\omega^{2}}$\egroup fonction de la pulsation \bgroup\color{black}$ \omega$\egroup . Dans notre cas \bgroup\color{black}$ \beta$\egroup est négatif (car \bgroup\color{black}$ C_{FL}<1$\egroup ) et les ondes hautes fréquences sont donc ralenties par le schéma numérique.

3.5.3.3 Propriétés de dispersion

Pour étudier les propriétés de la solution approchée, nous allons utiliser la même démarche que dans le paragraphe c3disp. Pour cela nous allons considérer le problème de la convection d'une onde \bgroup\color{black}$ u_{0}(x)=e^{I\omega x}$\egroup , vérifiant les conditions aux limites (i.e. avec \bgroup\color{black}$ \omega=\frac{(2k+1)\pi}{2L}$\egroup ). La solution exacte de l'équation des ondes (3.45) s'écrit:

\bgroup\color{black}$\displaystyle u(x,t)=\frac{1}{2}e^{I \omega x}\left(e^{-I \omega c_{0}  t}+e^{+I \omega c_{0}  t}\right)$\egroup

Cette solution initiale correspond justement à la perturbation \bgroup\color{black}$ \epsilon_{i}^{n}$\egroup dans la méthode de stabilité de Neumann. La solution numérique \bgroup\color{black}$ u_{i}^{n}$\egroup peut dans ce cas se calculer à partir de la relation (3.53). Elle s'écrit en fonction de la solution initiale \bgroup\color{black}$ u_{0}$\egroup au noeud \bgroup\color{black}$ i$\egroup du maillage :

\bgroup\color{black}$\displaystyle u_{i}^{n}=\frac{1}{2}e^{I\omega idx}\left((G_{1})^{n}+(G_{2})^{n}\right)$\egroup

\bgroup\color{black}$ G_{1}$\egroup et \bgroup\color{black}$ G_{2}$\egroup sont les 2 racines complexes de l'équation 3.51:

\bgroup\color{black}$\displaystyle G_{1}=1-2y^{2}+2Iy\sqrt{1-y^{2}},    G_{2}=1-2y^{2}-2Iy\sqrt{1-y^{2}}$\egroup

en notant \bgroup\color{black}$ y=C_{FL}\sin(\frac{\omega dx}{2})$\egroup . Ce sont deux nombres complexes conjugués de module unité et de phase \bgroup\color{black}$ \psi$\egroup :

\bgroup\color{black}$\displaystyle G_{1}=e^{I\psi},   G_{2}=e^{-I\psi}  $\egroup     avec   \bgroup\color{black}$\displaystyle \psi=\arctan\frac{2y\sqrt{1-y^{2}}}{1-2y^{2}}$\egroup

La solution discrète \bgroup\color{black}$ u_{i}^{n}$\egroup s'écrit sous la forme:

\bgroup\color{black}$\displaystyle u_{i}^{n}=\frac{1}{2}e^{I\omega idx}\left(e^{-In\psi}+e^{+In\psi}\right)$\egroup

qu'il faut comparer à la solution exacte:

\bgroup\color{black}$\displaystyle u(idx,ndt)=\frac{1}{2}e^{I\omega idx}\left(e^{-I\omega nc_{0}dt}+e^{+I\omega nc_{0}dt}\right)$\egroup

Ces deux expressions décrivent la propagation de l'onde initiale: la première avec la célérité \bgroup\color{black}$ \frac{\psi}{\omega dt}$\egroup et la seconde avec la célérité \bgroup\color{black}$ c_{0}$\egroup .

En effectuant un développement limité de \bgroup\color{black}$ \psi$\egroup par rapport à \bgroup\color{black}$ dx$\egroup , on montre que:

\bgroup\color{black}$\displaystyle \psi=C_{FL}\omega dx+O(dx^{3})\approx c_{0}\omega dt$\egroup

La solution approchée converge vers la solution exacte à l'ordre 2. L'erreur entre la solution exacte et la solution approchée provient essentiellement d'une erreur de dispersion: i.e. la solution numérique se propage sans dissipation, mais avec une célérité légèrement différente de la célérité exacte \bgroup\color{black}$ c_{0}$\egroup . Nous avons tracé sur la figure (3.26) la célérité (multipliée par \bgroup\color{black}$ \omega dt$\egroup ) de l'onde pour la solution exacte et la solution approchée en fonction de la pulsation \bgroup\color{black}$ \omega dx=\frac{(2k+1)\pi}{2N}$\egroup . On note que pour les petits nombres d'ondes (i.e. les basses fréquences) l'écart est minime, et que cet écart croit avec le nombre d'onde (i.e avec la fréquence).

La dispersion numérique du schéma augmente donc avec la fréquence. Les ondes hautes fréquences sont ralenties par le schéma numérique puisque leur célérité est plus petite que \bgroup\color{black}$ c_{0}$\egroup , comme prédit par l'analyse de consistance.

Figure 3.26: Célérité des ondes $ c$ multipliée par $ \omega dt$ en fonction de la pulsation $ \omega dx$ pour $ C_{FL}=\frac {1}{2}$
\includegraphics[width=0.2\paperwidth,keepaspectratio]{CHAP3/ondes5}


3.5.4 Expérimentation numérique avec Matlab

La résolution numérique du schéma explicite (3.50) nécessite l'initialisation de la solution \bgroup\color{black}$ u^{0}$\egroup à \bgroup\color{black}$ t=0$\egroup et \bgroup\color{black}$ u^{1}$\egroup à \bgroup\color{black}$ t=dt$\egroup . Disposant de deux conditions initiales (3.45), la valeur \bgroup\color{black}$ u^{0}$\egroup est donnée par la solution initiale \bgroup\color{black}$ w(x)$\egroup :

$\displaystyle u_{i}^{0}=w(idx)$ (3.55)

La valeur de \bgroup\color{black}$ u^{1}$\egroup est obtenue à partir d'un développement limité en temps à l'ordre 2 de la solution au premier pas en temps \bgroup\color{black}$ u(idx,dt)$\egroup :

\bgroup\color{black}$\displaystyle u_{i}^{1}=u_{i}^{0}+\left(\frac{\partial u}{\...
...+\left(\frac{\partial^{2}u}{\partial t^{2}}\right)_{t=0}\frac{dt^{2}}{2}$\egroup

La valeur de \bgroup\color{black}$ \frac{\partial u}{\partial t}$\egroup est fournie par la seconde condition initiale, et on utilise l'équation exacte pour calculer \bgroup\color{black}$ \frac{\partial^{2}u}{\partial t^{2}}$\egroup en fonction de \bgroup\color{black}$ \frac{\partial^{2}w}{\partial x^{2}}$\egroup , que l'on discrétise ensuite par différences finies centrées:

\bgroup\color{black}$\displaystyle \left(\frac{\partial^{2}u}{\partial t^{2}}\ri...
...^{2}}\approx c_{0}^{2}\left(\frac{w_{i+1}-2w_{i}+w_{i-1}}{dx^{2}}\right)$\egroup

On obtiens ainsi la valeur de \bgroup\color{black}$ u^{1}$\egroup avec une précision \bgroup\color{black}$ O(dt^{2},dx^{2})$\egroup , identique à celle du schéma:

$\displaystyle u_{i}^{1}=w_{i}+\frac{c_{0}^{2}dt^{2}}{2dx^{2}}(w_{i+1}-2w_{i}+w_{i-1})$ (3.56)

Le programme Matlab (3.5.4) implémente ce calcul pour les 2 conditions initiales étudiées: le créneau (lignes 14 à 15) et l'onde stationnaire (lignes 18 à 19). L'initialisation des champs utilise les relations précédentes (3.55) et (3.56) (lignes 22 à 24). Dans les itérations en temps (lignes 27 à 30), on utilise l'équation aux différences (3.50) pour les noeuds internes \bgroup\color{black}$ 1<i<N$\egroup en utilisant la programmation matricielle Matlab (ligne 27) . Les conditions aux limites fournissent la valeur aux noeuds frontières \bgroup\color{black}$ i=1$\egroup et \bgroup\color{black}$ i=N$\egroup (ligne 28).


programme Matlab 3.5.4: Résolution par différences finies de l'équation des ondes 3.45

% resolution equation des ondes
clear;
L=1; c0=2; N=201; dx=2*L/(N-1);
CFL=0.8
dt=CFL*dx/c0; Tf=4*L/c0;
nit=round(Tf/dt);
X=[-L:dx:L];
% noeuds internes
I=[2:N-1]; Ip1=[3:N]; Im1=[1:N-2];
% C.I.
cas=1;
if (cas==1) 
% C.I. cas 1
 delta=0.05;
 W=(X<=delta).*(X>=-delta);
else
% C.I. cas 2
 m=20;
 W=cos((2*m+1)*pi/2*X/L); Ue=W;
end
% initialisation du calcul
Un0=W;
Un(I)=W(I)+CFL^2/2*(W(Im1)-2*W(I)+W(Ip1));
Un(1)=0; Un(N)=0;
% iteration en temps
for it=2:nit
  Un1(I)=2*Un(I)-Un0(I)+CFL^2*(Un(Im1)-2*Un(I)+Un(Ip1));
  Un1(1)=0; Un1(N)=0;
  Un0=Un; Un=Un1;
end;

On a tracé sur la figure (3.27) la solution numérique de la propagation d'un créneau (cas 1) pour les deux valeurs \bgroup\color{black}$ 1.0$\egroup et \bgroup\color{black}$ 0,9$\egroup du nombre de Courant \bgroup\color{black}$ C_{FL}$\egroup . En comparant ces solutions avec la solution exacte sur la figure (3.23), on constate que pour \bgroup\color{black}$ C_{FL}=1$\egroup on obtiens la solution exacte. Pour \bgroup\color{black}$ C_{FL}<1$\egroup , des oscillations hautes fréquences apparaissent à l'arrière du créneau pour \bgroup\color{black}$ t<t_{1}$\egroup (i.e. avant réflexion sur la frontière). Cela confirme la dispersion numérique des hautes fréquences par le schéma pour \bgroup\color{black}$ C_{FL}<1$\egroup . En effet la solution initiale exacte possède un nombre infinie de modes de Fourier. La solution initiale discrète contient donc des grands nombres d'onde, qui se propagent numériquement avec une vitesse plus faible que \bgroup\color{black}$ c_{0}$\egroup . Cela explique l'apparition d'oscillations hautes fréquences à l'arrière du créneau avant la réflexion (figure 3.27a). Après la réflexion sur les frontières (figure 3.27b), ces oscillations ont été réfléchies et ont polluées tout le domaine.

Figure 3.27: propagation d'un créneau avec le schéma explicite (N=401)
[$ t=3/4 t_1$ et $ N=401$ ]\includegraphics[width=0.3\paperwidth,keepaspectratio]{CHAP3/ondesexp1}[$ t=5/4 t_1$ et $ N=401$ ]\includegraphics[width=0.3\paperwidth,keepaspectratio]{CHAP3/ondesexp2}

Sur la figure (3.28), on a tracé la solution numérique avec \bgroup\color{black}$ C_{FL}=0,9$\egroup pour une onde stationnaire de petit nombre d'onde ( \bgroup\color{black}$ m=3$\egroup ) comparée à la solution exacte à deux instants sur une période. On constate que la solution numérique est très proche de la solution exacte (les courbes coïncident), ce qui montre que la dispersion numérique est très faible pour les ondes à base fréquence.

Figure 3.28: onde stationnaire ($ m=3$ ) avec le schéma explicite ( $ C_{FL}=0,9   N=101)$
\includegraphics[width=0.4\paperwidth,keepaspectratio]{CHAP3/ondesexp3}

Figure 3.29: onde stationnaire ($ m=10$ ) avec le schéma explicite ( $ C_{FL}=0,9   N=101)$
\includegraphics[width=0.4\paperwidth,keepaspectratio]{CHAP3/ondesexp4}

Par contre, pour une onde stationnaire avec un plus grand nombre d'onde ( \bgroup\color{black}$ m=10$\egroup ), on a comparé sur la figure (3.29) la solution numérique et la solution exacte à un instant \bgroup\color{black}$ t$\egroup , calculée avec les mêmes paramêtres que précédemment. On note sur cette figure le déphasage introduit par la dispersion de la solution numérique, caractérisé pour une onde stationnaire par une amplitude déphasée.


Pr. Marc BUFFAT
marc.buffat@univ-lyon1.fr
2008-04-07