理論メモ
各天体 i に働く力:
F_i = Σⱼ G·mᵢ·mⱼ/(r²+ε²) · r̂ᵢⱼ
ε: 軟化長(数値発散防止)
積分法: Velocity Verlet
衝突: 運動量保存で合体
figure-8解(Chenciner-Montgomery 2000): 等質量3体が8の字を描く安定周期軌道。カオス的な三体問題の中の特殊解。
CAE応用: 分子動力学、SPH粒子法、DEM離散要素法
経過時間: 0.00 yr
全エネルギー: —
最大質量体: —
星・惑星・小惑星を配置し、重力による軌道運動・衝突・合体をリアルタイム可視化。figure-8軌道・太陽系・連星・銀河プリセット付き。
各天体 i に働く力:
F_i = Σⱼ G·mᵢ·mⱼ/(r²+ε²) · r̂ᵢⱼ
ε: 軟化長(数値発散防止)
積分法: Velocity Verlet
衝突: 運動量保存で合体
figure-8解(Chenciner-Montgomery 2000): 等質量3体が8の字を描く安定周期軌道。カオス的な三体問題の中の特殊解。
CAE応用: 分子動力学、SPH粒子法、DEM離散要素法
全ての計算の基礎は、ニュートンの万有引力の法則と運動の第2法則です。天体$i$が天体$j$から受ける重力は以下の式で表されます。
$$ \vec{F}_{ij}= G \frac{m_i m_j}{|\vec{r}_{ij}|^2}\hat{r}_{ij}$$ここで、$G$は万有引力定数、$m_i, m_j$は各天体の質量、$\vec{r}_{ij}= \vec{r}_j - \vec{r}_i$は天体$j$から$i$へのベクトル、$\hat{r}_{ij}$はその方向の単位ベクトルです。引力なので、$i$から$j$を引く方向に力が働きます。
天体$i$の運動は、他の全ての天体から受ける力の合力$\vec{F}_i$によって決まり、次の運動方程式に従います。
$$ m_i \frac{d^2 \vec{r}_i}{dt^2}= \vec{F}_i = \sum_{j \neq i}\vec{F}_{ij} $$この微分方程式を、コンピュータで微小時間ステップ$\Delta t$ごとに位置と速度を更新する「数値積分法」(このシミュレーターではシンプレクティック法などが使われることが多い)で解くことで、N体の軌道が時間発展します。3体以上ではこの方程式の一般的な解析解は存在しません。
天体物理学・宇宙シミュレーション:太陽系の長期的な安定性の調査、小惑星帯の運動、連星系の進化、銀河の形成と衝突など、宇宙の構造を理解するための根本的なツールです。観測データと組み合わせて、ダークマターの分布推定にも用いられます。
宇宙機の軌道設計:地球、月、太陽の重力をすべて考慮した「三体問題」の枠組みは、低エネルギー遷移軌道(例えば、はやぶさ2の往路軌道)の設計に不可欠です。重力アシストの精密な計画にも役立ちます。
CAE(計算支援工学)の基礎技術:N体問題の高速計算アルゴリズムは、分子動力学法(MD)での原子間相互作用、粒子法(SPH)での流体粒子間力、離散要素法(DEM)での粉体粒子の接触力の計算など、多様な分野の数値シミュレーションの基盤技術となっています。
教育と可視化:本シミュレーターのように、複雑な物理現象を直感的に理解し、パラメータを変えて即座に結果を見られることは、物理学や工学の教育において非常に強力な手段です。理論だけでは掴みにくい「カオス」や「安定性」の概念を体感できます。
まず、「リアルタイムで動いているから結果は正確」と思いがちですが、それは大きな誤解です。このシミュレーターは、計算速度と可視化のわかりやすさを優先しています。例えば、時間ステップΔtを大きくしすぎると、エネルギーが保存されず、軌道がどんどん膨らんだり、逆に中心に落ち込んだりする「数値的不安定性」が発生します。実務では、惑星の公転周期の1/1000以下のステップを使うなど、現象に合わせた慎重な設定が必要です。
次に、初期条件のわずかな差が結果を大きく変える「カオス性」を軽視しないでください。例えば、地球の位置を1メートルだけずらしてシミュレーションを走らせると、数百年後には軌道が完全に変わってしまう可能性があります。これはシミュレーターのバグではなく、三体問題に内在する本質的な性質です。再現性が必要な実験では、初期条件の値を厳密に記録・管理することが鉄則です。
最後に、「衝突」の扱いについて。このツールでは星が重なると合体しますが、現実の天体衝突はもっと複雑です。単純な合体ではなく、破砕や蒸発、破片の散乱などが起きます。シミュレーターの結果をそのまま現実と解釈するのは危険で、衝突現象を専門に扱う「スペースガード」の分野では、より詳細な物質モデルを用いた別のシミュレーションが必要になります。
この重力計算の技術は、天体物理学以外の様々な「粒子系」シミュレーションとアルゴリズムを共有しています。例えば、分子動力学法(MD)では、原子や分子間に働く分子間力(ライナード・ジョーンズポテンシャルなど)を、重力と同様に粒子間で計算します。クーロン力も距離の2乗に反比例するので、計算の骨格は同じ。違いはポテンシャルの式と、はるかに短い時間・空間スケールです。
また、流体解析(CFD)における粒子法、例えばSPH法(Smoothed Particle Hydrodynamics)も、流体を粒子の集合体として扱い、粒子間の相互作用を計算します。ここでは重力に加えて、圧力勾配や粘性力が主要な力となります。N体シミュレーションで培った「近接粒子探索」の高速化技術は、粒子法でもそのまま応用可能です。
さらに意外なところでは、集団行動のシミュレーション(群衆・魚群・鳥群)があります。個体間の「引力」(集まりたい力)と「斥力」(衝突回避の力)、そして目標への「推進力」を組み合わせたモデルは、まさに多体力学の応用と言えます。銀河の形成と鳥の群れのパターンが数式の上では類似しているのは興味深いですね。
まず次の一歩は、このシミュレーターの「ブラックボックス」を開けることです。具体的には、プログラミング言語(Pythonがおすすめ)で、2体問題(地球と太陽)の軌道計算を自分で書いてみましょう。オイラー法から始めて、そのエネルギー保存の悪さを確認し、次に精度の高いルンゲ・クッタ法やシンプレクティック法を実装してみてください。この体験が、数値計算ソフトウェアの出力を批判的に見る力を養います。
数学的背景としては、ニュートン力学から「解析力学」の視点に上がることが鍵です。運動方程式を力($F=ma$)ではなく、エネルギー(ラグランジアンやハミルトニアン)の観点から記述する方法を学びましょう。ここで出会う正準変換の概念が、先ほど出たシンプレクティック積分法の「なぜ長期的な安定性が高いのか」を理解する土台になります。式は一見難解ですが、物理の本質をより深く捉えることができます。
最後に、現実の宇宙シミュレーションに触れるなら、「ダークマター」と「N体シミュレーション」をキーワードに調べてみましょう。観測される銀河の回転曲線を再現するためには、目に見えない質量(ダークマター)の分布を仮定してN体計算を行う必要があります。このシミュレーターで無数の粒子を放り込んで銀河のような構造が形成される様子は、現代宇宙論の最前線を支える根幹技術なのです。