Unityによるマイクロマグネティクスシミュレーションのリアルタイム可視化

Abstract

マイクロマグネティクスとは,磁石内部に現れる原子磁気モーメントによって作られる磁化構造やその動的な変化を扱う分野であり,ハードディスクのヘッドやMRAMのシミュレーションなどに用いられる.マイクロマグネティクスシミュレーションでは,磁気モーメントの相互作用があるため計算量が多くその動きは予測しずらい.シミュレーションを理解するには可視化する必要がある.また,解析サイクルを早くできるように,GPUの高い演算能力を用いてリアルタイムにシミュレーションすることは有用である.本研究では,ゲームエンジンのUnityを用いてマルチプラットフォーム対応のマイクロマグネティクスシミュレーションのリアルタイム可視化システムを開発した.本システムでは,物理シミュレーションの部分はグラフィクスAPI(OpenGL,Direct3Dなど)に内蔵されるGPGPU機能(Compute shader)で高速に計算される.計算されたシミュレーションの結果はUnityのビルトインレンダリングパイプラインに送り,リアルタイムに描画される.プラットフォームにとらわれず,あらかじめドライバーなどをインストールする必要もなく,ほとんどのデバイスで実行可能のため,本システムは簡易的なシミュレーションを行う場面で有効である.本文ではC++(CUDA)とUnity(Compute shader)を用いた二種類のシミュレーションシステムを実装し,比較,評価した.同じ手法と条件でマイクロマグネティクスシミュレーションを実行すると,Compute shaderを用いた場合はCUDAより2倍,CPUより約40倍速かった.1152粒子の条件で,最新のスマートフォンだと20FPS以上のフレームレートが得られる.小規模のシミュレーションであれば,スマートフォンなどのデバイスでもリアルタイムにシミュレーションと可視化が可能となった.学生などのユーザーはスマートフォンなどのデバイスで手軽にシミュレーションができ,教育用途に役立つ可能性がある.電気通信大学202

    Similar works