10
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

一般相対性理論による地球上での時間の遅れを計算してみる

Posted at

一般相対性理論を取り巻く環境

近年時計の精度が$10^{-18}$に達し、実験室環境で一般相対性理論の検証ができるようになってきている。
実際どの程度の時間のズレが生じるのかを計算してみた。

import sympy as sym
sym.init_printing()
Pi = sym.S.Pi # 円周率
c = sym.N(299792458, 50) # 光速
r_Earth = sym.N(6356752.314, 50) # 地球の半径
M_Earth = sym.N(5.9726*(10**24), 50) # 地球の質量
G = sym.N(6.6740831/(10**11), 50) # 万有引力定数
def Schwarzschild(M): # シュワルツシルト半径
    return 2*G*M/(c*c)

class spacetime: # シュワルツシルト解で近似する
    def __init__(self, h = 0, d_r = 0, d_theta = 0, theta = 0, d_phi = 0):
        r = r_Earth + h
        rs = Schwarzschild(M_Earth)
        self.tau2_1 = 1 - rs / r # dt^2 = 1
        self.tau2_2 = - 1 / (1 - rs / r) / (c * c) * d_r * d_r
        self.tau2_3 = - r * r / (c * c) * (d_theta * d_theta + sym.sin(theta) * sym.sin(theta) * d_phi * d_phi)
    def tau2(self):
        return sym.N(self.tau2_1 + self.tau2_2 + self.tau2_3, 50)
def angular_v(v, r): # 速度と半径から角速度を求める
    return v / r

def dt(spacetime_base, spacetime_target): # 基準地での1秒に対して対象での1秒がどのぐらい長いか
    return sym.sqrt(spacetime_target.tau2() / spacetime_base.tau2()) - 1.0

検算してみる

1秒当たりどのぐらいずれるのか。

base = spacetime() # 地表
base_1m = spacetime(1) # 地表から1m
dt(base, base_1m)

$1.097597190⋅10^{−16}$

1mの高度差は余裕ですね。
1cmの高度差による重力差を検知できるというのは本当のようだ。

base_1ms = spacetime(0, 0, 0, Pi / 2, angular_v(1, r_Earth)) # 地表で1m/s
dt(base, base_1ms)

$−5.563250288⋅10^{−18}$

速度は自乗で効いてくるので50cm/sぐらいが現在の検知限界か。

10
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?