スポンジボブのN体問題は最終的に「ビリアル平衡に到達」

スポンジボブのN体問題は最終的に「ビリアル平衡に到達」 - 画像


by Antonio Pérez
天体の数が多くなるほど、星の軌道や動きの解析が難しくなるという「N体問題」のシミュレーションを、アニメ「スポンジボブ」の人気キャラクター・スポンジボブで実行してみたアニメーションを、ラ・ラグーナ大学で天体物理学を学ぶピーター・ロセロ氏が公開しています。
Gravitational collapse of SpongeBob
You can see how Virial equilibrium is eventually reached pic.twitter.com/Sm9p8cB3os— Pere Rosselló (@PeRossello) March 16, 2024
すべての物体はお互いに引かれ合う引力を持っているという「万有引力の法則」はイギリスの科学者であるアイザック・ニュートンが17世紀に発見した物理法則です。この万有引力の法則を応用することで、天体間に働く力を計算し、その動きや軌道を計算できます。
しかし、天体の数が3つ以上になると、この計算が非常に難しくなります。重力を持つN個の粒子の運動方程式を解析的に解くことは不可能になるため、この問題は天体物理学の世界で「N体問題」と呼ばれています。
ロセロ氏が公開したのは、10万個の粒子の動きを5時間・2000ステップでシミュレートしたアニメーションです。N体の粒子の初期位置は、スポンジボブの形をしています。


すべての粒子が重力を持つと想定して動きをシミュレートすると、粒子は1点に集中するように動き、重力崩壊を見せます。右側に表示されるのは運動エネルギー(Kinect Energy)と重力ポテンシャルエネルギー(Potential Energy)の平衡状態を示すグラフで、重力ポテンシャルエネルギーが運動エネルギーに変換されます。


その後、粒子は拡散し、2点に集中するような動きを見せます。エネルギーの平衡状態を見ると、今度は運動エネルギーが重力ポテンシャルエネルギーに変換されます。


最終的にスポンジボブだった10万個の粒子は再び1点に集中し、最終的にまるで銀河のような形に落ち着きました。エネルギーのバランスを示すグラフはバウンドするように上下しますが、動きがピタリと止まり、平衡状態を示します。ロセロ氏は「N個の粒子がビリアル平衡に達した」と報告しています。


ロセロ氏によれば、このシミュレーションはPythonでコーディングされており、numbaで並列化、Matplotlibで描画されているとのこと。コードはロセロ氏のGitHubリポジトリにホストされる予定だそうです。
N-body simulation made with Python, parallelized with numba, and animated with matplotlib.
N=100.000. Computation time around 5h for 2.000 steps. Around 1s of compute time per step. Collisions are handled with a softening length.
Code will be on my github, eventually pic.twitter.com/aIMJhr9yqi— Pere Rosselló (@PeRossello) March 16, 2024

ジャンルで探す