[ FDTD top > JavaScript (3-D Acoustic FDTD)]   [ English | Japanese ]

空に浮かぶヘリウム風船モデル - 3次元音響FDTDシミュレーション デモ
(Native JavaScript with three.js version / rev.20150105)



[Model: 64 x 48 x 40 voxels]
クリックまたはドラッグで:
カラーマップ:
計算速度:
  風船のサイズ:

   Helium Balloon


 
 回転速度:
 左右画像の視差:
 カメラの距離:
  (画面にゴミが残った場合は [Refresh] をお試し下さい。)

steps/second / frames/second

概要

これは3次元空間中の音波伝搬の物理シミュレーションのデモプログラムです。空間は流体で満たされています。また,Mur の1次吸収境界条件を備えています。(Mur の1次吸収境界条件は,最善の性能というわけではありませんが,もっとも簡単な吸収境界条件のうちの一つです。)

このプログラムでは「3次元音響 FDTD 法 (finite-difference time-domain; 有限差分時間領域法)」の方程式を解いています。暗い部分は空気(332 m/s),明るい楕円状の部分は空気とヘリウムの混合気体(718 m/s)から成ります。グリッドの解像度は 15 mm/pixel,時間刻みは 12 μs/step (μs = マイクロ秒 = 1/1000000 秒)です。1 kHz の正弦波1波(ハン窓を掛けたもの)を送波しています。

お楽しみいただけましたら幸いです。

技術情報

このプログラムは Windows 上の Opera 26 (Blink),Firefox 31 (Gecko),Internet Explorer 11,および Spartan でテストされました。おそらく HTML5 と WebGL に対応したスマートフォンでも動作します。 また,Blink, WebKit と Gecho ブラウザではタッチ操作にも対応しています。 計算速度はお使いの PC の速度に依存します。Intel Core i3 以上を推奨します。 また,3次元レンダリングに WebGL 技術を利用しているため,3次元描画の性能は CPU 速度に加えて GPU の性能にも依存します。

 Safari 5.1 から 7.1 のユーザは下記の設定をおこなって下さい:
  - [Safari] メニューから [環境設定] を開く。
  - その後,[詳細] タブを開く。
  - その後,ウインドウ下部の [メニューバーに"開発"メニューを表示] にチェックを入れる。
  - 最後に,[開発] メニューの [WebGL を有効にする] を選択する。
  (Yosemite (Safari 8) のユーザーは上記の操作は不要です。)

3次元弾性FDTD法などを含め,FDTD法についてのさらに詳しい情報は作者の論文をご参照下さい。
http://ultrasonics.jp/nagatani/

謝辞

シミュレーションの可視化についての有意義なアイデア提供していただくとともにプログラムをテストしていただいた橘亮輔氏 (Twitter@ro_tachi)(東京大学)に深く感謝します。また,ゲヒルン株式会社の茨木隆彰氏には,コードのレビューとコーディングにおける重要なコメントを頂きました。ここに感謝の意を表します。
また,3次元レンダリングには three.js ライブラリを利用しました。この強力なライブラリの開発に寄与された皆様に謝意を表します。

更新履歴

2015年4月5日
Spartan (Windows 10 TP 10049) で動作確認(変更無し)。
2015年1月5日
画面にゴミが残る場合があるために定期的に 3D 画面をリセットするように変更。
2015年1月4日
日本語版を追加。自動翻訳は一切使っていませんが,自動翻訳っぽい訳を心掛けてみました(笑)。
2015年1月3日
3次元レンダリングを実装。
より良い視覚効果のために物理定数を変更。(もちろん物理的に正しいシミュレーションであることに変わりはありません)
2015年1月1日
最初のバージョン。