
そこで、巻き波を起こすにはどうしたらいいのかいろいろと調べてみたところ、RadovitzkyとOritzの"Lagrangian finite element analytics of newtonian fluid flows."という論文を見つけた。
この論文は、有限要素法によってラグランジュ的に自由表面をシミュレーションする手法を提示している。その適用例の1つとして砕波を扱っており、そこに孤立波の理論解が示されていた。これを適用すれば波の岸に打ち寄せる波を再現することができそう。
孤立波の初期条件は、水面の高さをη、x方向の初速をu、y方向の初速をvとすると、

のようになる(x方向のオフセットを省略)。ここで、gは重力加速度で9.8[m/s^2]、Hとdはそれぞれ基準となる水面の高さと波の高さである。
また、tanhとsechは双曲線関数で、その定義は
である。
この初期条件を適用して、またシミュレーションしてみると、
お!巻き波が起きた!
シミュレーション結果を見ると、左から進んできた孤立波が、斜面にさしかかったところでせり上がって、巻き波になってくずれる様子が見てとれる。また、巻き波が打ち寄せたあとにさーっと引いていく様子も、実際の砂浜とよく似ている。
いい感じに巻き波が起きるようになったので、次は、このエントリのように綺麗にレンダリングしてみます。
■関連するエントリ
SPHによる巻き波のシミュレーション第1回
SPHによる巻き波のシミュレーション第3回
-
0 件のコメント:
コメントを投稿