銀河系之外的恆星在地球上看來不過是夜空中一個小小的亮點,直接觀測圍繞它們旋轉的行星顯然不可能。兩位天文學家因發現第一顆系外行星獲得了今年的諾貝爾物理學獎,不過這項工作背後的原理其實並不複雜……
圖片來源:NASA
來源 Wired
撰文 Rhett Allain
翻譯 張元一
編輯 戚譯引
10 月 8 日,2019 年諾貝爾物理學獎將 2/3 授予米歇爾·馬約爾(Michel Mayor)和迪迪埃·奎洛茲(Didier Queloz),以表彰他們在 1995 年做出的驚人發現:他們首次探測到一顆行星,圍繞與太陽相似的遙遠恆星運行。在此之前,我們所知的行星只有自己所處的太陽系中的八大行星。我們甚至都不知道行星在宇宙中是常見還是稀有,而這個問題有著重大的影響,它關乎外星生命存在的可能。
這是科學探索的壯舉。馬約爾和奎洛茲觀察飛馬座星系中的一顆恆星,叫做飛馬座 51,距離我們 50.45 光年。我們可以看到恆星發出來的光,但是在那樣的距離,光源的角度太小,望遠鏡無法分辨。換言之,我們看不到恆星本身。而且既然看不到恆星,那麼我們當然也看不到環繞著它的小得多的行星。
那他們怎麼做呢?當然是靠物理學了。與所有事物一樣,理解它的最好方法是建立模型。因此,讓我們構造一個有史以來被探測到的系外行星的簡單模型。
飛馬座 51 很像我們的太陽,只是更大一點;如果把它們放在一起,你很可能無法分辨誰是誰。而這顆行星被稱為飛馬座 51 b,和木星一樣是個氣態巨行星,離它的恆星近得不可思議,其軌道半徑僅為 0.05 AU。(AU 代表天文單位,是從地球到太陽的平均距離。)作為對照,木星的軌道半徑約為 5 AU。
現在我要倒推一下發現過程,當一回事後諸葛亮。我們將使用恆星和系外行星的估計質量以及軌道半徑,來模擬該恆星-行星系統的行為,然後我會展示如何找到行星。當然,馬約爾和奎洛茲得先從數據中得出這些估計值,但是他們腦海裡很可能有相似的模型,來指導他們的工作。
在任何太陽系中都存在引力,將恆星和行星拉在一起。引力與兩個物體的質量(分別記為 Ms 和 mp)以及它們之間的距離(r)相關,其大小可通過這條公式得出:
這裡,G 是引力常數,值為 6.67 x 10-11 N×m2/kg2。作用在天體上的力實際上會產生什麼影響呢?根據動量原理,它會改變其動量(p)——動量等於速度(v)乘以質量。像這樣:
字母前的希臘符號 Δ 表示該變量的微小變化。變量上的箭頭表明這些是矢量。聽起來似乎很花哨,但它只是將方向信息添加到力和動量的大小中。我們需要知道事物的去向,不是嗎?
現在,為了畫出該恆星-行星系統中的運動軌跡,我將使用逐步數值方法。上面的方程式表明了作用在恆星和行星上的力。由此,我可以計算出每個物體在一個很小的時間間隔(Δt)內的動量變化。然後我可以用那個來找到恆星和行星的新位置。這是力(F)及其動量變化(紅色箭頭)的示意圖:
圖片來源:Rhett Allain
「短」時間間隔到底有多長?飛馬座 51 b 繞恆星一周只需要短短的四個地球日,這真是太快了。因此,我們嘗試間隔 100 秒。然後,要繪製出一個完整的旋轉軌跡,只需要重複這些力和動量計算 3000 次以上。哈!沒問題,我可以將它們放在簡短的 Python 腳本中進行迭代。
GlowScript 2.9 VPython
#Constants and stuff
G=6.67e-11
AU=1.496e11 #1 AU in meters
a=0.052*AU #semimajor axis
T=101.5388*3600 #orbital period in s
speed=136e3 #m/s
#m=jupiter/2
#r = 1.5*jupiter
Msun=1.9891e30
Rsun=695.5e6
Mjupiter=1.898e27
Rjupiter=69.911e6
mstar=1.11*Msun
rstar=1.237*Rsun
#Pegasi 51
star=sphere(pos=vector(0,0,0), radius=rstar,color=color.yellow)
star.m=mstar
placeholder=sphere(pos=vector(0,1.3*a,0),radius=1)
#Pegasi 51 b
planet=sphere(pos=vector(a,0,0),radius=1.5*Rjupiter,make_trail=True)
planet.m=1.5*Mjupiter
#set the initial momentum
planet.p=planet.m*vector(0,speed,0)
#make the total momentum zero
star.p=-planet.p
t=0
#time interval
dt=100
#do 10 orbits
while t<10*T:
rate(250)
#calculate the vector from star to planet
r=planet.pos-star.pos
#caclulate the gravitational force on planet
F=-G*star.m*planet.m*r.hat/r.mag**2
#update momentum of planet
planet.p=planet.p+F*dt
#update momentum of star (opposite force)
star.p=star.p-F*dt
#update position of star and planet
planet.pos=planet.pos+planet.p*dt/planet.m
star.pos=star.pos+star.p*dt/star.m
t=t+dt
你也可以在這裡查看代碼:https://trinket.io/glowscript/f86aaefed6
很明顯,行星繞恆星運行,但是這裡還發生著其他事情,只是在這種規模下看不到,那就是恆星也在移動!利用引力,恆星將經歷與行星完全相同的動量變化。由於它具有更大的質量(p = m×v),因此它的速度變化要小得多,但它不是靜止不動的。基本上,隨著行星旋轉,恆星會發生小幅度的擺動。
讓我們詳細解釋一下:使用 Python 模型的結果,我將恆星的運動繪製在一維圖上。(只是為了簡單起見。假設一個三維空間中的 XYZ 坐標系,那麼我只是在 y 方向上追蹤其速度。)
畫圖代碼參見:https://trinket.io/glowscript/f86aaefed6 | 圖片來源:Rhett Allain
恆星的最大速度低於 200 m/s,其移動速度比行星慢得多,但它確實在移動。這是整個過程的關鍵。儘管看不到行星,但你可以看到行星對恆星速度的影響。再藉助都卜勒效應(Doppler effect),你可以通過觀察星光來「觀察」恆星的速度。
你很可能已經聽說過都卜勒效應了。當一輛飛速行駛的火車從你身旁飛過,或賽車在賽道上,聽起來就像:
NEEEEEEEEEEEEEEEE-RAAAAAAAAAAAAAAAAR……
我不想再模仿一次了,總之這就是都卜勒效應的標誌性聲音。當一個發聲物體朝我們的方向移動時,我們會聽到音調較高(即頻率較高)的聲音;當它經過並遠離我們時,我們會聽到音調較低的聲音。
事實上,還存在光的都卜勒效應。如果一顆星星向你移動,它的光將移向色譜的藍色端(頻率較高,或者說波長較短的一端);當它遠離你的時候,它的光將朝光譜的紅色端(波長較長端)移動。
這很有用!由於我們已經知道光速 c(大約為3 x 108 m/s),因此我們可以測量波長的偏移,並由此推斷出恆星的速度。在這裡,λm 是測得的波長,λ0 是假設它靜止不動時你看到的波長。
但是,看看右邊的表達式,你會發現一個問題。如果分子中物體的速度(v)比分母中的光速(c)小得多,那麼得到的波長偏移會很小,而這正是飛馬座 51 的情況。
舉個例子。假設這顆恆星發出的光波長為 500 納米(相當於一米的五千億分之一),這大致對應光譜上的綠色。使用這個波長和上述模型中恆星的速度,以下是測得的波長隨時間變化的曲線圖:
圖片來源:Rhett Allain
這看起來仿佛是很大的波動,其實只是因為 y 軸上的刻度單位很小。仔細觀察,你會發現波長範圍在 500.00000 nm和 500.00031 nm 之間。這是一個極小的偏移,因此很難檢測到。而且,情況還可能變得更糟!計算的假設前提是這顆恆星正在朝向或遠離我們移動;但是如果行星軌道不一樣,恆星相對於地球上下運動怎麼辦?那種情況下,我們看不到任何波長偏移。我們永遠不會知道那裡有一顆行星。
聽起來很困難?現在你知道為什麼這顆行星一直到 1995 年才被發現,以及為什麼馬約爾和奎洛茲能獲得這樣的榮譽了吧——諾貝爾獎委員會評價他們「開始了天文學的革命」。確實,利用他們開創的方法以及其他一些創新技術,天文學家已經在銀河系中發現了 4000 多顆系外行星。也許其中一顆行星上也生活著傑出的科學家,誰知道呢?
本文來自微信公眾號「科研圈」。如需轉載,請在「科研圈」後臺回復「轉載」,或通過公眾號菜單與我們取得聯繫。原始文章請點擊「閱讀原文」。