/ 波紋プールシミュレーター 戻る
振動・波動

波紋プールシミュレーター

クリックで池に石を投げ入れよう。2次元波動方程式をリアルタイムで解き、波の伝播・反射・干渉・減衰を美しく可視化します。波源を増やせば干渉縞、「雨」モードでは無数の波紋が広がります。

有限差分法 (FDM) 2D波動方程式 クリック/タップで波紋 タッチ操作対応
再生・操作
プリセット
パラメータ
反射境界
OFFにすると端で波が吸収され、反射しません。
カラーマップ
波谷(青) ゼロ(白) 波頭(橙)
-A0+A
操作方法

🖱️ クリック — 波源を追加
🖱️ ドラッグ — 連続波紋を生成
📱 タップ/スワイプ — タッチ操作も対応
⌨️ Space再生/停止・D水滴・Rリセット
💡 プリセットで干渉縞を観察しよう

ライブ数値
0.50
波速 c [格子/step]
0.990
減衰係数
0
アクティブ波源
波長 λ [格子]
0.00
最大振幅
60
FPS
0
ステップ数
0
連続波源数
リップル(波の伝播・反射・干渉)
t = 0.000 s 400 × 320
理論・主要公式

$$\frac{\partial^2 u}{\partial t^2} = c^2 \nabla^2 u$$

2次元波動方程式:\(u\) 水面変位、\(c\) 波速 [m/s]、\(\nabla^2\) ラプラシアン

$$c = \sqrt{\frac{g\lambda}{2\pi}\tanh\left(\frac{2\pi h}{\lambda}\right)}$$

表面波の位相速度:\(\lambda\) 波長、\(h\) 水深

このシミュレーターは2次元波動方程式 ∂²u/∂t² = c²∇²u を格子上で近似します。各ステップでは現在と1つ前の変位からFTCS型の陽解法で次の変位を更新し、周囲4点との差分でラプラシアンを評価します。安定性のためCourant数はCFL=0.5に固定し、波速スライダーは0.10〜0.90に制限しています。減衰係数は更新後の振幅に掛ける係数で、1に近いほど波が長く残ります。境界条件は「反射ON」でディリクレ型(端で固定=波が反射)、「反射OFF」で吸収型(端で波が消える)に切り替わります。連続波源を駆動した場合、波長は λ ≈ c·CFL·(周期ステップ数) で見積もれます。

波紋プールシミュレーターとは

🙋
このシミュレーターで、クリックすると波紋が広がるのは面白いですね!これって、池に石を投げ込んだ時の波と同じ原理なんですか?
🎓
その通り!大まかに言うと、水面の上下動をコンピュータ上で再現しているんだ。実務では、音波や地震波の伝わり方を解析するCAEの基礎技術と同じ数式を使っているよ。上の「波速 c」のスライダーを動かすと、波の広がる速さが変わるから確認してみて。
🙋
え、そうなんですか!「減衰」ってパラメータもありますね。これは何を変えてるんですか?
🎓
減衰は、波のエネルギーが周囲に散ったり、摩擦で失われたりする度合いだ。例えば、現実の水の波はしだいに小さくなるよね。この値を大きくすると、波がすぐに消える。逆にゼロに近づけると、波がなかなか消えずに反射を繰り返す、理想的なプールになるんだ。シミュレーター右側の「減衰」バーを動かして違いを確かめてみよう。
🙋
「2波源」ボタンを押すと、きれいな縞模様ができます!これが干渉ってやつですか?CAEではどう使うんですか?
🎓
そう、これが干渉だ。2か所から出た波が重なり合って、強め合うところと弱め合うところができる。現場で多いのは、スピーカー2台から出る音が干渉して、場所によって音が大きく聞こえたり小さく聞こえたりする「音場解析」だね。このシミュレーターでパラメータを変えながら干渉パターンを見ることは、複数の音源や振動源がある製品の設計に直結する基礎体験なんだ。

よくある質問

はい、シミュレーターの設定パネルで「減衰係数」を調整できます。値を大きくすると波がすぐに収まり、小さくすると長く揺れ続けます。現実の水の粘性を模した挙動を試せます。
画面上で複数箇所をクリックまたはタップするだけで、それぞれの地点から波が発生します。同時に発生した波は干渉し合い、強め合う点や弱め合う点をリアルタイムで観察できます。
設定メニューから「波速」パラメータを変更可能です。数値を大きくすると波が速く伝わり、波長も伸びます。物理的な媒質の違い(浅い水と深い水など)をシミュレートする際に活用ください。
2次元波動方程式に減衰項を加えたモデルを使用しており、波の干渉・回折・減衰を定性的に再現します。ただし、風や水深変化などの複雑な要素は省略しているため、教育的な可視化ツールとしてご利用ください。

実世界での応用

室内音響・騒音解析:コンサートホールやスタジオの設計では、壁や天井での音波の反射・干渉をシミュレーションし、音の響きや雑音の伝わり方を予測します。このツールで見る干渉縞は、音の「うなり」や「定在波」の2次元版と考えられます。

マイクロフォンやスピーカーのアレイ設計:複数のマイクやスピーカーを配置したとき、特定の方向からの音を強調したり、逆にノイズを打ち消したりする技術(ビームフォーミング)の基礎原理は、波の干渉です。シミュレーターで波源を複数置く操作はその基礎体験です。

地震波伝播解析:地盤中を伝わる地震波(表面波)のシミュレーションにも同様の波動方程式が用いられます。地盤の不均質性(波速cの違い)が波の伝わり方にどう影響するかを調べ、建物の耐震設計に役立てます。

流体表面波のシミュレーション:船舶が作る波や、沿岸域での波浪の伝播を予測する際にも応用されます。より複雑な方程式の基礎となるため、このようなシンプルな2Dシミュレーターで原理を理解することは重要です。

よくある誤解と注意点

このシミュレーターを使い始めるとき、いくつか勘違いしやすいポイントがあるよ。まず、数値安定性はCFL条件で決まり、このツールではCFL=0.5を固定し、波速入力も0.10〜0.90にクランプしています。スライダーや数値入力の範囲内なら発散しないようにしてあるので、波速を変えるときは「速くなるほど波面が1ステップで進む格子数が増える」と理解すれば十分です。

次に、「減衰」の設定。これをゼロに近づけると波が永遠に揺れ続ける理想的な系になるが、現実のほとんどの現象、例えば建築物の振動や音響では、必ず何らかの減衰(制振)が存在する。減衰を無視した設計は共振による破壊を招くリスクがある。逆に、減衰を大きくしすぎると現象の本質である干渉パターンが観察しにくくなる。バランスが大事だね。

最後に、このシミュレーションは「線形」の波動方程式が基礎だ。つまり、波の高さが大きくなっても波速が変わらないし、波同士がぶつかってもそのまま素通りする(非線形効果がない)。実際の大きな波(例えば津波)や、ある種の光学現象では非線形性が重要になるけど、まずはこの線形モデルで基本を押さえることが全てのスタート地点だ。

使い方ガイド

  1. 波速パラメータ(sl-speed)を0.10~0.90の範囲で調整し、格子上の伝播速度を設定します
  2. 減衰係数(sl-damp)を0.900~0.999に設定して、波のエネルギー損失を制御します
  3. インパルス強度(sl-impulse)で初期波動エネルギーを1~3の範囲で指定し、プール画面をクリックして波を発生させます
  4. 「水滴」ボタンや「雨モード」で自動的に波紋を発生させ、ドリップ頻度スライダーで降雨の密度を調整します
  5. 再生/一時停止・反射境界のON/OFFを切り替えながら、波の伝播・反射・干渉・波長の変化を確認します

具体的な計算例

波速c=0.5、減衰0.95、インパルス2.0で中央をクリックした場合、CFL=0.5なので波面の進みはCFL×c=0.25セル/stepです。150ステップ後の代表的な到達半径は約37.5セルで、400セル幅の約9.4%に相当します。このモデルの距離と振幅は無次元の格子単位として扱い、mmや実際の波長には換算しません。2波源プリセット(周期約25step)では、波長は λ ≈ c·CFL·周期 ≒ 0.5×0.5×25 ≒ 6.3セルと見積もれ、ライブ数値の「波長 λ」に表示されます。2点をクリックすると、重なった波面で強め合いと弱め合いの干渉を観察できます。

実務での注意点

  1. 減衰値を小さくすると波は早く消え、0.999に近づけるほど長く残ります。用途に応じて0.900~0.999の範囲で調整してください
  2. 連続波源を増やすと干渉縞が複雑になり、反射境界では端部反射も重なります。FPSを見ながら波源数を調整してください
  3. 波速パラメータは0.10~0.90に制限され、CFL=0.5の条件下で安定に計算されます
  4. クリック波源は瞬間的なインパルス、プリセットの連続波源は統計欄の「連続波源数」に反映されます