Particula Numerica 3.0について紹介します。

Particulaは質量を持つたくさんの数の質点の運動を、その初期条件から各々の重力相互作用の元でどのように発展していくかをシミュレートするソフトウェアです。計算天文学の分野では、このようなソフトウェアの事を、N体シミュレータと呼びます。N個の天体の運動シミュレータと言うことです。

このようなN体シミュレータは、一つ一つの質点の間に働く重力を計算し、その合力を求め、各質点の運動方程式を数値敵に解くことによって求め、その加速度、速度、位置を逐次求めて、時間を発展させていきます。

アルゴリズムとしては非常に単純ですが、質点の個数Nが大きくなると大きな問題が生じます。それは、質点の個数が多くなるにつれて、Nの2乗の重力を計算しなければならないため、計算時間が膨大になってしまい、計算規模が巨大になってしまうという問題です。分子動力学やプラズマ力学においては正と負の電荷が存在し、なおかつ全体的には中性を保っている状態が多いため、クーロン力は遠くまでは波及しないので割愛することが可能です。しかしながら、重力は引力しか存在しないことから、その力は遠方まで有意に働きます。そのため基本的に全ての粒子間に働く力を計算しなければなりません。

そのため、ある質点から遠くにある質点群からの寄与をまとめてしまう方法が考えられました。Particulaでは、一般的な八分木を用いたアルゴリズムに加え、Alternate-Digital Tree (ADT)を用いた独自の高速アルゴリズムを開発し、実装いたしました。

screenshot of particula
Screenshot of Particula
当社のPhysica Numericaシリーズの特徴のひとつである、リアルタイムでの可視化も行えます。また、アニメーションによる画像での記録は、画面の前にいなくても多くの情報を記録することが出来ます。

入出力として、数値天文学の分野で有名なNEMOフォーマットを供えてあります。

是非、Particula Numericaを用いた計算結果をご覧ください。

本ソフトは無償で提供いたしております。もし、ご興味があれば是非ダウンロードしてご自分の銀河系を作成してみてください。またこのソフトウェアのソースコードをGitHubにて公開いたしました。個人で使う分にはライセンス上制限はありませんので、いろいろ改変したりして、楽しんでみてください。過去に、引力に非ニュートン相互作用や、ダークマターの影響などを取り入れて研究をなさった研究者の方々がいらっしゃいました。

参考までに、回転する銀河同士の衝突の様子のシミュレーションをご覧ください。

 

FaLang translation system by Faboba