Ondes dans le Grand Lac Salé
À l'aide d'ImageMesh, vous pouvez convertir des segments d'image en objets BoundaryMeshRegion. Ces maillages vous permettent d'utiliser des fonctions dans d'autres aires, telles que les méthodes d'éléments finis (MEF).
Pour illustrer cette connexion MEF, déterminez les principaux modes d'ondes de surface sur le Grand Lac Salé dans l'Utah.
![Click for copyable input](assets.fr/waves-in-the-great-salt-lake/In_95.png)
img = EntityValue[Entity["Lake", "GreatSaltLake::yw8cf"], "Image"]
![](assets.fr/waves-in-the-great-salt-lake/O_44.png)
Régularisez l'image avec un filtre à décalage moyen.
![Click for copyable input](assets.fr/waves-in-the-great-salt-lake/In_96.png)
img2 = MeanShiftFilter[img, 3, 0.1]
![](assets.fr/waves-in-the-great-salt-lake/O_45.png)
Obtenez une segmentation par la croissance des régions.
![Click for copyable input](assets.fr/waves-in-the-great-salt-lake/In_97.png)
mask = RegionBinarize[img2, \!\(\*
GraphicsBox[
TagBox[RasterBox[CompressedData["
1:eJzt1jEKwkAQQNFdK0uv4C1sLW0VD6AYxSZCFMRzCJ7XiF3SzFb7lf8ggUCK
D8MmM99f1sdJSuk67W/r3X3ZdbvHZtY/bNvr+dQ2h1V7a05Nt9h/Xnv21ytJ
kiRJkiRJkn5H7tVuGLMqzqo4q+KsiuNW8bKsimNWfbNwXVbF5Yzuqp0xZFUB
dBaui5kF/T5AsxJ1jNAsq0qgs3BlOSPDMrMLmvUBDcNnsbqov2x4FrWrdscA
NIu6SjCzoEOEZlGniF5Ta0eMmVXCqjjmCJlV5KzaDWNWxXGreFnMKvAIazeM
MUfIXEmtKsCs8hSWsCrOqjhmlSRJkiRJkvS/3tRrD1M=
"], {{0, 147}, {150,
0}}, {0, 1},
ColorFunction->GrayLevel],
BoxForm`ImageTag["Bit", ColorSpace -> Automatic, Interleaving -> None],
Selectable->False],
DefaultBaseStyle->"ImageGraphics",
ImageSizeRaw->{150, 147},
PlotRange->{{0, 150}, {0, 147}}]\), 1/5]
![](assets.fr/waves-in-the-great-salt-lake/O_46.png)
Récupérez un objet BoundaryMeshRegion de la surface du lac.
![Click for copyable input](assets.fr/waves-in-the-great-salt-lake/In_98.png)
\[ScriptCapitalR] = ImageMesh[mask]
![](assets.fr/waves-in-the-great-salt-lake/O_47.png)
Créez un maillage de la surface du lac.
![Click for copyable input](assets.fr/waves-in-the-great-salt-lake/In_99.png)
\[CapitalOmega] =
TriangulateMesh[\[ScriptCapitalR], MaxCellMeasure -> 8]
![](assets.fr/waves-in-the-great-salt-lake/O_48.png)
Résolvez l'équation d'onde de la surface du lac en déterminant d'abord les fonctions propres du Laplacien à l'intérieur de la région du lac.
![Click for copyable input](assets.fr/waves-in-the-great-salt-lake/In_100.png)
\[ScriptCapitalL] = -\!\(
\*SubsuperscriptBox[\(\[Del]\), \({x, y}\), \(2\)]\(\[CurlyPhi][x,
y]\)\);
Utilisez une condition aux limite.
![Click for copyable input](assets.fr/waves-in-the-great-salt-lake/In_101.png)
\[ScriptCapitalB] = DirichletCondition[\[CurlyPhi][x, y] == 0, True];
Générez une base orthonormée de fonctions propres Φ avec valeurs propres Λ.
![Click for copyable input](assets.fr/waves-in-the-great-salt-lake/In_102.png)
{\[CapitalLambda], \[CapitalPhi]} =
NDEigensystem[{\[ScriptCapitalL], \[ScriptCapitalB]}, \[CurlyPhi][x,
y], {x, y} \[Element] \[CapitalOmega], 64];
Affichez les six premiers modes d'oscillation.
![Click for copyable input](assets.fr/waves-in-the-great-salt-lake/In_103.png)
GraphicsGrid[
Partition[
Table[ContourPlot[\[CapitalPhi][[
k]], {x, y} \[Element] \[CapitalOmega], PlotRange -> All,
PlotLabel -> \[CapitalLambda][[k]], PlotTheme -> "Minimal"], {k,
6}],
3
],
ImageSize -> 512
]
![](assets.fr/waves-in-the-great-salt-lake/O_49.png)
L'évolution temporelle des modes d'oscillation en décomposition est donnée par ce qui suit.
![Click for copyable input](assets.fr/waves-in-the-great-salt-lake/In_104.png)
\[CapitalTheta][\[Lambda]_, \[Xi]_, t_] = FullSimplify[
DSolveValue[Join[{ \!\(
\*SubscriptBox[\(\[PartialD]\), \(t,
t\)]\(\(TraditionalForm\`\[CurlyTheta]\)[
t]\)\) + \[Xi] \!\(
\*SubscriptBox[\(\[PartialD]\), \(t\)]\(\(TraditionalForm\`\
\[CurlyTheta]\)[
t]\)\) == -\[Lambda] \!\(TraditionalForm\`\[CurlyTheta]\)[
t] }, {\!\(TraditionalForm\`\[CurlyTheta]\)[0] ==
1, \[CurlyTheta]'[0] ==
0} ], \!\(TraditionalForm\`\[CurlyTheta]\)[t], t],
{\[Lambda] > 0, \[Xi] > 0, \[Xi]^2 < 4 \[Lambda], t \[Element] Reals}
]
![](assets.fr/waves-in-the-great-salt-lake/O_50.png)
En développant une perturbation initiale en fonctions propres et en les laissant évoluer dans le temps, on obtient une simulation de la propagation des ondes à travers le lac.
![](assets.fr/waves-in-the-great-salt-lake/swf_8.png)