ブラックホールで精神と時の部屋を作る

Python

精神と時の部屋について

精神と時の部屋とは、漫画ドラゴンボールにおける架空の存在である。この精神と時の部屋では現実の世界での一日が一年分の時となっています。

実際この精神と時の部屋を現実で実現するといったことを想定した先行研究があったのでここで紹介します。

【検証】「精神と時の部屋」を作るにはどうしたらよいのか?【ドラゴンボール】

このサイトによると亜光速での運動系ならば、可能であるといったことを言っています。

しかし、亜光速の運動系ともなると速度を維持し続けることや光速に近づくことによる質量増加など、まったくもってこれもほぼ実現不可能であるのに、数値上だけの結果で可能としています。
これに筆者は一石を投じたいということでこの記事を書きました。

今回加速度系を用いた精神と時の部屋を作ります。加速度系で考察することの利点を次にあげます。

  • ブラックホールを用いることで、継続的なエネルギーの消費がない
  • 適切な距離を設定すると人間でも十分生存可能な環境になる

以上のことからよほど現実的に精神と時の部屋が作るのでこれを考察しました。(実際には、条件を満たすブラックホールを探す、その近くまで移動するなど課題は多くある)

また、直感的に理解したい方はInter stellarという映画があるのでこれも見てほしいと思います。

 

重力と時間

今回はこちらのサイトを参考にこの考察を行いました。よくみる相対論の誤解

十分遠方(重力ポテンシャルの影響を無視できる場所)から見た時に星の表面の時間の遅れ\(\Delta T\)は以下のように表すことができます。

$$ \Delta T = \frac{GM}{c^2R} T$$

ここで\(G,c\)は万有引力定数、光速の定数、\(M,R,T\)は星の質量、星の中心からの距離、基準時間です。

この数式を用いることですでに質量、中心からの距離の二変数から精神と時の部屋を構築することができますが、精神と時の部屋の重力は地球の十倍ということでこれも考慮することにします。

重力加速度\(g\)は以下のように表されます。

$$ g = \frac{GM}{R^2} $$

以上の二式から連立方程式を解きます。

実際の計算

数値についてまとめます。

精神と時の部屋では基準の時間\(T\)から1年離れていることから時間の遅れ\(\Delta T = 364\)、万有引力定数\(G = 6.67\times10^{-11} \mathrm{m^3kg^{-1}s^{-1}}\)、光速\(c = 3\times 10^8 \mathrm{m s^{-1}}\)、地球の重力\(g = 9.8 \mathrm{m s^{-2}}\)

上記の数値と連立方程式を解くことで以下のように必要な環境は求まります。

中心からの距離\(R = 918\times10^9 \mathrm{km}\)

ブラックホールの質量\(M = 1.24\times10^{42} \mathrm{kg}\)

数値についての吟味

必要な環境について吟味してみます。ブラックホールにおいて光が逃げられる最低の半径(シュワルツシルト半径)は以下のように表せます。

$$ r_g = \frac{2GM}{c^2} $$

このシュワルツシルト半径以上でないとブラックホールに閉じ込められることになって脱失できなくなります。これを解くと\(r_g = 1836\times10^{9}\mathrm{km}\)です。これは先ほどの中心からの距離より大きいのでこのままだと非現実的です。そこで重力を妥協して計算を行います。

この結果がこちらになります。

常にシュワルツシルト半径以下なのでこれではブラックホールにとらわれたままです。

すみません、企画倒れでした。

書いたコード

自分の計算ミスがあるかも(あってほしい)ので今回計算に用いたpythonコードも示しておきます。

import matplotlib.pyplot as plt


#フォント
plt.rcParams['font.family'] = 'Times New Roman' #フォント一括
plt.rcParams["font.size"] = 20
plt.rcParams['ytick.direction'] = 'in'
plt.rcParams['xtick.direction'] = 'in'
plt.rcParams["xtick.top"] = True # 上部に目盛り線を描くかどうか
plt.rcParams["ytick.right"] = True # 右部に目盛り線を描くかどうか


#時間の遅れ
deltaT = 364
#万有引力定数
G = 6.67*10**-11
#光速
c = 3*10**8
#地球の重力
g = 9.8


"""
時間の遅れ…(1)
deltaT = GM/(c^2 R)
重力加速度(地球の10倍)…(2)
10g = GM/(R^2)
"""


#Mを消す、(1)式に(2)式を代入
R = deltaT*c**2/(10*g)
#print(R*10**-12,"m")


#RからMを求める
M = 10*g*R**2/G
#print(M,"kg")

#シュワルツシルト半径
rg = 2*G*M/c**2
#print(rg,"m")


#重力加速度を変えて最適値を探す
glist = []
Rlist = []
Mlist = []
grlist = []

for i in range(1,1000):
    g = i/10
    glist.append(g)
    R = deltaT*c**2/(g)
    Rlist.append(R)
    M = g*R**2/G
    Mlist.append(M)
    gr = 2*G*M/c**2
    grlist.append(gr)

plt.plot(glist,Rlist,label = "radius")
plt.plot(glist,grlist,label = "Schwarzschild radius")
plt.yscale("log")
plt.ylabel("distanse [km]")
plt.xlabel("gravitational acceleration [m/s]")
plt.legend()

コメント

タイトルとURLをコピーしました