Simple Compact Objects Simulator
1. 開発の背景
ブラックホール、中性子星、白色矮星といった「コンパクト天体」は、非常に高密度で強い重力を持つ天体であり、その物理は現代天文学・高エネルギー物理学の中心的なテーマです。
しかし、これらは直接観測が難しいため、理論モデルとシミュレーションによる可視化が重要になります。
本プロジェクトは、もともと研究用途の数値計算スクリプトとしてPythonで始まりましたが、「パラメータを変えて即座に結果を見たい」という要望から、Webブラウザ上で動作するインタラクティブアプリとして再構築することになりました。
この「リアルタイム性」と「物理的正確さ」の両立が、今回の開発テーマです。
2. 開発の目的
目標は、コンパクト天体のパラメータ入力 → 関連物理量の計算 → 可視化を、ブラウザ上でシームレスに行えることです。
主に学生が天体パラメータを変えながら即座に挙動を確認できるようにし、教育用デモから簡易研究ツールまでカバーできることを狙いました。
3. システム構成と実装
3.1 技術スタック
-
Three.js
ブラックホールや降着円盤の3D表示 -
Vanilla JavaScript
厳密計算式による物理演算(近似式を極力避ける) -
CSSによるUI構成
物理パネル、重力波パネル、イベントログを分離して表示
3.2 実装した主要な計算式
-
Schwarzschild 半径
$$
R_s = \frac{2GM}{c^2}
$$- (G):万有引力定数
- (M):天体質量
- (c):光速
-
Eddington 光度
$$
L_{\rm Edd} = \frac{4\pi G M m_p c}{\sigma_T}
$$- ($m_p$):陽子質量
- ($\sigma_T$):トムソン散乱断面積
- 他の記号は上記と同じ
-
降着光度
$$
L_{\rm acc} = \eta \dot{M} c^2
$$- ($\eta$):放射効率(一般に0.1程度)
- ($\dot{M}$):降着率(単位時間あたりの質量流入)
-
重力波の周波数進化(等質量連星系)
$$
\frac{df}{dt} = \frac{96}{5}\pi^{8/3}
\left(\frac{G \mathcal{M}}{c^3}\right)^{5/3} f^{11/3}
$$- ($\mathcal{M}$):チャープ質量
$$
\mathcal{M} = \frac{(m_1 m_2)^{3/5}}{(m_1 + m_2)^{1/5}}
$$ - ($f$):重力波周波数
- ($m_1, m_2$):連星を構成する質量
- ($\mathcal{M}$):チャープ質量
-
ISCO 周波数(非自転BH)
$$
f_{\rm ISCO} \approx \frac{c^3}{6^{3/2}\pi G (m_1+m_2)}
$$- ISCO:Innermost Stable Circular Orbit(最内安定円軌道)の略
4. シミュレーションの計算手法
本システムは、リアルタイム描画と厳密計算を両立させるために、以下の計算戦略を採用しました。
-
物理量の計算
ユーザーが入力したパラメータ(質量、降着率、スピン、磁場、距離)を元に、SI単位系で物理量を計算。内部では定数 (G)、(c)、($\sigma_T$) 等を高精度で保持し、ブラウザ上での丸め誤差を最小化。 -
重力波波形の生成
- 周波数進化式 (df/dt) を時間方向に数値積分し、周波数 (f(t)) を求める。
- 位相 ($\phi(t) = \int 2\pi f(t) dt$) を計算。
- 振幅はポストニュートン近似のスケーリング ($h(t) \propto f(t)^{2/3}$) を採用。
- サンプリング周波数は表示解像度に応じて動的決定。
-
3Dモデルの描画
- Three.jsでブラックホールと降着円盤のメッシュを生成。
- パラメータ変更時にサイズや色温度分布を更新し、円盤温度プロファイルはShakura–Sunyaevモデルを反映。
-
計算効率化
- 重力波計算はWeb Workerを利用可能な設計にしており、描画処理と計算処理を分離。
- 不要な再計算を避けるため、パラメータ変更時のみ関連量を再計算。
5. 使ってみた印象
開発者目線では、Three.js と JavaScriptの数値計算 の組み合わせはかなり相性が良く、
物理系のシミュレーションでも違和感なくリアルタイム描画が可能でした。
パラメータをスライドすると、すぐに波形や物理量が変化するのは、教育コンテンツとして効果的だと思います。
6. 今後の展望
- Kerrブラックホール(スピン付き)のISCO計算導入
- 高次ポストニュートン展開・IMRPhenomモデルでの波形生成
- 実観測データとの比較機能
- LIGO/Virgo/KAGRA感度曲線のオーバーレイ
7. まとめ
「Simple Compact Objects Simulator」は、
ブラウザ環境だけでコンパクト天体の厳密計算と可視化を可能にするツールです。
理論式と可視化を直結させることで、「式が現象にどうつながるか」を体感的に理解できるのが最大の魅力です。
今後の拡張によって、教育から研究の現場まで幅広く活用できると考えられます。