Simulation bidimensionnelle de la propagation d'une onde
Résultats de simulations numériques
Maillage, grille de calcul, et discrétisation de l'équation des ondes
On a vu auparavant la modélisation et simulation d'une onde en 1 dimension.On étudie maintenant la propagation d'une onde en 2 dimensions, ce qui peut correspondre en particulier à la propagation d'une onde dans une cavité, dans l'espace libre, puis sa diffraction à travers une fente. Il s'agit aussi de la modélisation des vibrations d'une membrane, ou de la propagation d'une onde de surface (onde sismique par exemple).
Cette propagation est toujours régie par l'équation des ondes: si on note u(x, y, t) l'amplitude de l'onde au point d'espace de coordonnées (x, y) et à l'instant t, alors u est solution de l'équation
∂2u
∂t2
− c2Δu
= s(x, y, t)
avec le laplacien
Δu =
∂2u
∂x2
+
∂2u
∂y2
et
s(x, y, t) désigne l'amplitude de la source qui provoque (et/ou entretient) l'onde.
On cherche une solution approchée de cette équation des ondes en 2-D: le domaine géométrique dans lequel l'onde peut se propager est le rectangle [0, Lx] × [0, Ly].
Afin de traiter numériquement cette équation, le domaine est découpé en une grille de calcul avec un pas h en abscisse et k en ordonnée:
On notera par la suite nx = Lxh et ny = Lyk et nt les nombres de points utilisés pour les discrétisations suivant respectivement l'axe des x, des y et des temps t.
De même que pour la simulation monodimensionnelle, on pose
ui, jk =
u(xi, yj, tk)
L'utilisation des formules de Taylor (cf. discrétisation de l'équation de Possion, ou/et la simulation 1D) nous permet alors de formuler l'équation des ondes sous forme discrète selon la relation de récurrence:
ui, jk+1 =
2ui, jk
− ui, jk−1
+γx
[
ui−1, jk
+ ui+1, jk
− 2ui, jk
]
+γy
[
ui, j−1k
+ ui, j+1k
− 2ui, jk
]
où, γx = c δt δx 2 et γy = c δt δy 2
Pour initialiser la relation de récurrence précédente, on suppose que le milieu est au repos: la vitesse intiale de l'onde est nulle.
Ceci se traduit par ui, j2 = ui, j1
Si on suppose que la source est une source sinusoïdale d'amplitude 1 et de fréquence ν = 2Hz située au point S(sx; sy) avec par exemple sx = Lx/3 et sy = Ly/2
À chaque itération temporelle, et au point où se trouve la source, l'amplitude de l'onde doit donc être modifiée suivant:
usx, syk+1
= usx, syk
+ sin(2πνkδt)
Modélisation et simulation d'une onde en espace libre
Si notre domaine de calcul est infini, pour l'étude de la propagation d'une onde en espace libre (par exemple aussi l'étude radar et furtivité) il faut limiter ce calcul, artificiellement (seul un nombre fini de calculs seront fait par un ordinateur…). Il existe d'autres méthodes qui contourne cette limitation artificielle, comme les équations intégrales, mais qui ne sont pas abordées ici.On observe alors dans le résultat de nos calculs des réflexions sur le bord de notre domaine: dans la mesure où ce domaine a été introduit artificiellement, ce sont des réflexions parasites qui n'ont pas d'existence physique.
Il faut corriger donc ceci. Pour pallier cet inconvénient, on peut introduire des conditions dites absorbantes au bord de notre domaine (CLA, pour Conditions aux Limites Absorbantes), de manière à éliminer ces réflexions parasites.
Ces conditions absorbantes peuvent être simulées de la manière suivante (en notation pseudo-Matlab, ou python avec numpy, voir aussi Programmation et simulation de l'équation de Poisson)
u(1, : , k+1) =
u(2, : , k)
u(nx , : , k+1) =
u(nx−1 , : , k)
u( : , 1 , k+1) =
u( : , 2 , k)
u( : , ny , k+1) =
u( : , ny−1 , k)