波浪水槽シミュレーター 戻る
波動・音響

波浪水槽シミュレーター

2D波動方程式を有限差分法でリアルタイムに解きます。クリックで波源を追加し、干渉・回折・反射のパターンが形成される様子を観察できます。

設定

統計

計算結果
0.00
最大振幅
0.00
総エネルギー
可視化

2D波動物理とは

🙋
このシミュレーターが解いている「波動方程式」って、結局なんなんですか?難しそうに聞こえます。
🎓
ざっくり言うと、水のさざ波でも音でも、あらゆる波の広がり方を支配する数学的な規則だよ。この2D水槽のシミュレーターは、各点の波の高さを追跡するバージョンを解いている。クリックで波源を追加して、円形の波面が広がる様子を見てごらん。あれが方程式の動作そのものだ。
🙋
えっ、本当ですか?じゃあ、波同士が交差して模様ができるとき、シミュレーターは一点一点それを計算しているんですか?
🎓
そのとおり!有限差分法という手法を使っているんだ。現在の波の高さと隣接点の値を見て、次の瞬間の高さを計算する。だから、コントロールの「波源タイプ」を一点から線状に変えるだけで、同じ物理から異なるパターンが生まれることがすぐに体感できるんだよ。
🙋
「CFL条件」というのも出てきましたが、これを破るとどうなるんですか?
🎓
いい質問だね!それは安定性のルールで、要するに「波が1格子セルを進む時間より速い時間刻みで計算してはいけない」という条件だ。これを破ると数値が発散して、現実離れしたカオスな結果になる。このシミュレーターは時間刻みを慎重に調整して安定性を保っているから、いつも滑らかで正確な波が見られるんだ。

物理モデルと主要方程式

このシミュレーションの根幹をなすのは2D波動方程式で、波の変位の時間変化と空間的な曲率を結びつけます。

$$ \frac{\partial^2 u}{\partial t^2}= c^2 \left( \frac{\partial^2 u}{\partial x^2}+ \frac{\partial^2 u}{\partial y^2}\right) $$

ここで \( u(x,y,t) \) は位置 (x,y)、時刻 \(t\) における波の高さ(変位)、\(c\) は媒質中の波の伝播速度(定数)です。左辺は波の加速度、右辺は x 方向と y 方向の曲率の和を表しています。

シミュレーターはこの方程式を陽的有限差分時間領域法(FDTD法)で数値的に解きます。安定性のため、Courant–Friedrichs–Lewy(CFL)条件を満たす必要があります。

$$ \frac{c \Delta t}{\Delta x}< \frac{1}{\sqrt{2}}$$

ここで \( \Delta t \) は時間刻み、\( \Delta x \) は格子間隔です。この条件は数値計算が物理的な波の伝播より先走らないように保証し、シミュレーションの発散を防ぎます。係数 \(1/\sqrt{2}\) は2Dシミュレーション特有の値です。

実世界での応用

音響室の設計:コンサートホールやオーディトリアムにおいて、音波がどのように反射・干渉するかをモデル化するため、エンジニアは同様の2D波動シミュレーションを使用します。さまざまな壁の形状や素材を仮想的にテストすることで、建設前に最適な音響特性を設計できます。

超音波画像診断:医療用超音波装置は波の反射と干渉の物理に依存しています。高周波音波が異なる組織を伝播する様子をシミュレーションすることで、画像分解能の向上や新しい診断技術の開発に役立ちます。

アンテナ・RF設計:アンテナアレイから放射される電波の伝播も同じ波の原理に従います。CAEシミュレーションは、携帯電話基地局や衛星通信向けに信号強度と指向性を最大化するアンテナ配置設計に不可欠です。

地震解析:地球物理学者は、地震波が地球の各層をどのように伝わるかを理解するために波動伝播モデルを使用します。これは地震リスク評価や石油・ガス探査にとって極めて重要な解析です。

よくある誤解と注意点

このシミュレーターを使い始めたとき、特にCAE初学者が誤解しがちなポイントがいくつかあります。まず一つ目は 「波速 (c) を現実の水の波に近づけて設定すれば、より正確なシミュレーションになる」という思い込みです。確かに波速は物理的なパラメータですが、数値計算の安定性を決めるCFL条件 ($c \Delta t / \Delta x \lt 1$) と強く結びついています。例えば波速 c を大きくしすぎると、この条件を満たすために時間刻み $\Delta t$ を極端に小さくする必要が出て、計算が重くなったり不安定になったりします。実務では、現象の本質を捉えつつ計算コストを抑えるバランスが重要です。

二つ目は 減衰係数の設定についてです。このツールでは「水の抵抗」を模倣していますが、実際には減衰のモデル化には選択肢があります。例えば振動構造物の解析では、現象に応じて速度に比例する「粘性減衰」や変位に比例する「履歴減衰」などのモデルが使い分けられます。シミュレーターの減衰を強くしすぎると干渉縞が見えにくくなるので、観察目的に合わせて調整するのがコツです。

最後に、「境界条件は単に壁があるだけ」という理解です。このツールでは「固定端」(壁で波が反射)を採用していますが、実際には「自由端」(壁が振動)や「吸収端」(境界で波が消える)など、多様な条件が存在します。例えば無響室の設計では、音をできるだけ吸収するように壁に「吸収端」条件が設定されます。シミュレーション結果を解釈する際は、どんな境界条件を仮定したのかを常に意識することが、実務での落とし穴を防ぐ第一歩です。

使い方

  1. 波速スライダー(スライダー、0.1〜0.7)で無次元の波速 c(格子間隔/ステップ)を設定します。上限 0.7 は 2D の CFL 安定条件 c < 1/√2 ≈ 0.707 に対応します
  2. 減衰係数(スライダー、0.95〜0.999)でエネルギー散逸を制御します。1 に近いほど振動が長く持続し、値を下げるほど水槽壁などによる波エネルギー吸収を模擬できます
  3. 波源タイプ(クリック/連続振動/シングル・ダブルスリット)を選び、周波数スライダー(スライダー、0.05〜0.5)で振動波源の周波数を設定します
  4. 水槽キャンバスをクリックすると波源を追加できます。インパルス系のモードでは複数回クリックして波源を増やすと干渉パターンが形成されます
  5. 有限差分法ソルバーが波面の伝播、スリット背後の回折、壁・境界での反射をリアルタイムに計算する様子を観察してください

計算例

既定のダブルスリット設定(100×100 格子、波速 c = 0.4、周波数 f = 0.2、減衰係数 0.990)では、振動波源の周期は 50 ステップ(時間刻み 0.1 × 周期 1/f = 5)なので、波長は λ = c × 50 = 20 格子になります。スリット開口の中心は y = 35 と y = 65 で間隔 d = 30 格子のため、強め合いの方向は d·sinθ = mλ より sinθ = 20/30 ≈ 0.67、θ ≈ 42°(m = 1)と推定でき、画面に現れる干渉縞の向きと照合できます。このとき CFL 条件 c = 0.4 < 1/√2 ≈ 0.707 も満たされています。

実務での注意点

  1. 水槽端からの反射で定在波状の偽パターンが目立つ場合は、減衰係数を 0.95 側へ下げてエネルギー吸収を強めると波源本来の挙動が見やすくなります
  2. 波長は λ ∝ c/f で決まるため、周波数を固定して波速 c を変えると波長だけを走査できます。沿岸工学の港湾共振解析の感覚をつかむのに有効です
  3. 連続振動モードで有効な波源は最後にクリックした 1 点のみです。複数波源の干渉を観察するときは「クリック(インパルス)」モードで続けてクリックしてください
  4. スリット背後への回り込み(回折)の度合いは λ/開口幅で決まります。波速 c を上げる、または周波数 f を下げて波長を長くするほど回折が顕著になります(開口幅は約 7 格子)