上期我們談了3K黑體輻射和黑暗物質的重要貢獻。由於黑體輻射引發宇宙中星系形成理論的困境,因此若希望將黑暗物質充作星系形成的種子,得利用黑暗物質不與光子起任何作用的神秘特性,來解釋初始均勻的宇宙如何能演變成現今模樣。最後又提到微中子似乎可以扮演黑暗物質的角色,希望能夠利用電腦模擬來證實這個構想。現在讓我們看看該如何進行模擬以及模擬的結果。
螢幕上的宇宙
一般情形下,科學家要解決某些問題時,都必須先簡化問題。如前面所提的,這類問題可能過分簡化!例如輪子在無摩擦力下滾動,或是人們以精確的速率工作。我們都知道真實的世界是有摩擦力,人們工作速度可快、可慢;然而,電腦正可以輕鬆地模擬這類複雜的問題!
對於一個重力收縮的問題,學理論的人通常先假設收縮的物體為球形,或它內部密度分布是以某種簡單的方式變化,然後再進行分析。但是在做數值模擬時,我們可以使用一組質點(上千個甚至上萬個,它們之間以萬有引力定律相互吸引),在程式內,我們可以依照我們的意思任意分布這些質點,不用為了簡化分析而限制它們的形狀或分布。
但是電腦所用的質點,實際上是一個超質點,這種質點可能代表一顆星球,也可能代表數個星球,甚至一個星系;星球的個別性質、成分全被忽略掉。當我們知道系統內質點的初始條件(一般是位置和速度,有時也包括質量),以及質點間的作用力─重力,就可以利用牛頓運動定律,將每個質點隨時間變化的情形計算出來。
N質點方法
利用電腦模擬一個真實系統,不僅在天文學上逐漸被廣泛運用,在其他學門上也有很大的成果。例如製造飛機的風洞實驗,只要程式寫正確,電腦的速度夠快,科學家就不需要將設計好的飛機原型製造出來,然後再放在風洞內進行測試;他們只要將飛機的形狀輸入電腦,就可以在螢幕前看到實驗結果。其他像橋樑設計、高樓建築設計,甚至原子彈試爆都可以用電腦模擬出來。
當然電腦模擬的技巧有很多,在天文上經常用的是N質點法(N-body method)。簡單地說,即將系統內N個質點當作模擬的對象,每個質點所受的作用力是來自其他N-l個質點,然後將作用力全部加起來,就是該質點所受的力,再利用牛頓運動定律算出該質點下一個時刻的位置。基本上整個系統每經過一個時間間隔(time step)就必須對N個牛頓運動方程式作積分,而每個運動方程式必須作N(N-1)/2次的作用力疊加,這要花費很多的電腦運算時間,即使是用超級電腦大約也只能計算數千個質點。
假如想要模擬星系的形成,數千個質點是絕對不夠的。近年來天文學家發展了許多新的模擬技術,係專門針對N質點法進行改良。其中有一種技巧稱作樹枝狀碼(tree code),它的基本精神很簡單,就是減少計算質點所受作用力的次數(N(N-1)/2)。它並不需要將每個質點所施的重力全部加起來,對於遠方的一群質點,只需要當作一個大質點,質量是這群質點的總和,位置則是這群質點的質量中心(center of mass),對於附近的質點就必須一個一個地分別計算。
另外還有針對N質點問題,專門設計出特殊功能的電腦,日本的葡萄計畫(GRAPE)就是其中一例。《Newton》雜誌94年三月號的<躍動的宇宙>一文就是GRAPE-3專用電腦模擬出來的結果。GRAPE計畫是針對計算作用力的部分進行改進。他們利用pipe-line技術(註一)製造出一顆晶片,這顆晶片專門用來計算重力,算好的結果再傳給一個工作站(例如SUN工作站),由這台工作站算出下一時刻的位置和速度,然後再傳回晶片,計算下一時刻的作用力。這種特殊設計可以使計算速度達到240Mflops(每秒處理百萬個浮點運算。Cray C90有479Mflops)。現今日本正在進行更大型的GRAPE-4計畫,預計1995年三月完成,運算速度達到106Mflops,可算是全世界最快的電腦。
不過,我們所模擬的星系形成有一些特點可以幫助我們模擬。第一就是模擬星系形成的系統非常大,幾乎是整個宇宙的大小,我們幾乎是從大爆炸一開始就模擬到現在。仰望天空,星系密密麻麻地散布在宇宙中,我們可以假設真正模擬的星系只是宇宙的一角,由於宇宙的大尺度均向性(isotropic),這個模擬系統和它的四周應該長得很像,所以我們用了一個週期性的邊界條件,也就是說沿著某一個方向延伸出去,會看到和模擬系統相同的特性。
第二個特性是我們的系統內的質點是不會相互碰撞。一般來說,一個系統內的質點越多,系統的弛緩時間(relaxation time)越長。球狀星團的弛緩時間約8,000萬年,星系的弛緩時間約一年(所謂弛緩時間指的是一個系統內的質點經過多次碰撞達到平衡狀態所需的時間)。對於球狀星團而言,弛緩時間比它存在的時間(約100億年)小很多,球狀星團應該已經達到平衡狀態,所以球狀星團內的碰撞現象一定很重要。對於星系而言,整個系統尚處在動力狀態,還沒到平衡態,也就是說球狀星球碰撞的次數不夠多,所以星系形成的過程中,碰撞效應並不重要。
在考慮週期邊界條件(periodic boundary condition)和無碰撞(collisionless)這兩個特性時,我們發現電漿物理學家早已經發展一套解決這類問題的方式。他們發展一種稱做PIC(particle-in-cell)的數值方法來模擬電漿。電漿是一種離子化的氣體,這些氣體內的電子和原子或多或少可以自由地運動,形成一個平滑的系統,即使外力作用在某一質點上,也會影響整個系統,而不單只影響該質點附近的其他質點。這使得電漿的系統類似我們想要模擬的宇宙,甚者二質點間的電力是與距離平方成反比的關係,正好與重力理論相同。只是說在採用模擬電漿的數值方法來模擬膨脹宇宙中的重力陷縮現象時,在數學上必須做些修正,當修正完成後這套方法就可以使用。
PIC方法
所謂PIC方法,其實是一種適用於比較均勻的系統,因為它的過程中有一些步驟類似抹平的動作──一些小尺度的、質點的個別行為會被平均掉,像碰撞這種激烈行為是不會出現,因此非常適合用在無碰撞系統。它的步驟很簡單,首先將質點依照需要分布在整個系統內,然後將系統切成一塊塊的網格(見圖一)。在網格內的質點將質量平均分配給四個網格端點上(對二度空間而言),愈靠近質點的網格點分到較多的質量,也就是它的權重(weighting)較大,將所有的質點分配在網格點上之後,我們就得到一個場(field),這種效果有點像流體力學的尤拉(Euler)空間,我們現在只要處理網格點上的物理量,不像拉格朗日(Lagrange)空間,必須一直盯著每個質點到處跑。

這時候我們計算作用力不再是一個個疊加起來,而是計算重力場的帕松方程式(Poisson's equation,註二)──這是一個場的方程式。先前我們提出模擬的系統還有一個週期的邊界條件,這裡就得用上了。這個條件使得我們可以先將帕松方程式作傅立葉(Fourier)轉換到頻率域(frequence domain),這時帕松方程式就從偏微分方程式變成簡單的代數方程式。經過一番加減乘除運算,找到頻率域內的重力,再經過逆傅立葉(inverse Fourier)轉換,就得到每個網格點上的重力。
有了網格點上的重力,只要利用內插法就可以得到每個質點所受的作用力,然後再解牛頓的運動方程式,求出下一個時刻的位置和速度。這種方法比直接的N質點法快很多,它將計算作用力的次數由原先的N(N-1)/2加快到NlogN,使得處理一個具有上萬個質點的系統不再是神話。現在我們就看看美國匹茲堡大學的Adrian Melott,在1980年初期模擬微中子宇宙的結果。他採用的是Zel'dovich的薄煎餅(pancake)理論,這個想法認為:一個非常大的結構─星系團大小、或超級星系團大小的結構─會收縮成薄煎餅形狀,然後在中心,碰撞氣體開始冷卻、分裂成一個個碎片,這些碎片便是星系的前身。
電腦螢幕上的微中子宇宙
在模擬星系形成這麼大的系統之前,我們不能貿然地直接進行三度空間的模擬實驗(這些模擬大多在超級電腦上執行,都是需要付費的),在還沒有摸清楚這個模擬實驗是否有價值,是否可行,就執行一個三度空間的模擬是不智的行為。我們必須先從最簡單的一度空間開始,看看結果是否有值得我們繼續往下進行的價值,同時這對程式的撰寫和除錯也有幫助。
這也是Melott所採取的策略。他先做一維的模擬實驗,看看這些快速運動的微中子有沒有機會被一般物質抓住,作為往後形成星系的種子。既然只是一維的模擬,唯一的方向應是垂直薄煎餅的方向,我們假設一塊無窮大的平面向中心收縮,所有的物理量只和垂直平面的方向有關。藉由這種近似的方式,能夠得到很高的解析度,也就是說,可以跟著收縮過程,一直觀察到整個系統中的微小區域,電腦模擬中所使用的網格大小一定不可使我們所興趣的星系結構模糊掉。圖二就是一維模擬的結果,他用二股微中子流面對面飛奔而過,系統內除了微中子外,還有一般的氣體;從結果上看,有些微中子的速度很快,的確很難被捕捉,但是也有一些微中子被捕捉到,速度明顯變慢,這表示部份的微中子是可以被捕捉而停留下來。

從一維的成果出發,我們來看看二維模擬是否有更有趣的事情發生。在一維的模擬中,我們看到有一個薄層狀的微中子形成,在均勻的平面上必須產生不均勻塊,才有機會繼續收縮形成星系。因此沿著平面上的重力必須考慮進去。作法是在開始形成薄煎餅形狀之後,在平面內放入一些塊狀結構,代表一般物質。即使假設在這些塊狀結構放了總質量百分之一的一般物質,它都足夠使微中子分裂成碎片,這均勻的層狀結構開始被撕裂形成星系(如圖三)。

接下來就是個大工程,真實地模擬三維的微中子宇宙,這時候得到的結果就可以和觀測的真實宇宙作一比較。Melott用了百萬個質點,每個質點代表質量大於單一星系質量的基本單位,即使是如此粗糙的計算,在超級電腦Cray 1也需要數個小時的計算時間。接下來是在電腦螢幕上察看三維模擬的結果。
當百萬個質點在三維空間內飛來飛去時,我們很難去了解到底發生了什麼事。事實上,這是我們面對最困難的一個問題。有一種方法可以幫助我們檢視模擬出來的結果,就是將密度相同的區域畫出來。電腦知道每個小區域的密度,藉著已經發展好的程式,我們就能把它畫出。我們可以告訴電腦從那個角度觀看及畫那些密度的圖形,電腦將畫出一個曲面(surface),曲面以內的表示密度小於我們所給的密度值。
我們先來看中空的部分(見圖四)。首先叫電腦畫出一些曲面,這個曲面所包含的密度小於平均密度的一半。我們先看到近乎圓形中空的形狀,然後這些中空形狀逐漸變大,並與其他區域相互碰撞,而將它們之間的物質撕碎,這些碎片預測將會形成星系。

接下來,我們再看看物質的部分(見圖五),所顯示出密度是剛才同一時間密度二倍的區域。在這裡有一個相當不同的地方,我們看到中空的部分是圓形,但是物質所包含的區域是雪茄型和扁平型。這表示物質陷縮時傾向於扁平的形狀,而中空部分變大時傾向於圓形,直到它們撞到其他的中空區域(見圖六)。


我們在物質分布途中可以看到有類似薄煎餅結構,但是在真實的宇宙中那兒來的薄煎餅結構?
Melott認為宇宙的結構是以另一種方式形成,而不是此處所描述的,也就是說原先的假說是錯的。或許為了某些原因,剛開始收縮成的薄煎餅形狀並不可以產生星系,但是雪茄形狀的卻可以。在觀看過模擬的演化過程,另一種可能性較討人喜歡,也就是剛開始二種形狀都會形成,但是薄煎餅內的質點會流到四周邊緣,二個薄煎餅狀相交的地方便形成雪茄狀的結構。讀者可以在模擬中看到這個過程,這表示倖存的薄煎餅狀結構密度較低,比剛形成時更難被觀察到。
還有其他的方式來測試我們的模型嗎?有!我們可以將電腦上的宇宙和真實的宇宙比較一下!我們要求電腦顯示從立方體中心所看到的景觀。假如我們站在立方體的裡面,假想模擬的質點是星系,我們便可以建構出一幅模擬的天象圖(見圖七)。雖然它有點像真實宇宙的結構,但也並不是完全相同。
善用電腦模擬
在微中子主導的宇宙中,因為星系大小的擾動會被微中子抹平,第一個形成的大結構應該是大於20Mpc(百萬秒差距,註三)的星系團,然後受重力收縮撕成一塊塊的碎片,這些碎片形成星系。這些過程在前面的模擬結果中就可以清楚看到,其中有些特殊的結構,如雪茄狀的星系團和大的空洞也都在真實的觀測中找到。其他類似的模擬研究也不斷地進行,劍橋大學的Carlos S.Frenk、亞利桑那大學的Simon D.M.White、加州大學柏克萊分校的Marc Davis以及Drexey大學的Joan Centrella都曾做過微中子宇宙的模擬,但是他們都遇到一個嚴重的問題:當察看電腦螢幕上宇宙隨時間變化時,發現星系的形成竟是在宇宙壽命一半的時候才發生──這和觀測結果不符,例如似星體它應該是早期產物,不應該這麼晚才形成。
解決星系太晚形成的方法就是建立一個星系比大結構更早形成的模型,也就是找一個運動速度較慢的冷黑暗物質(cold dark matter)模型。這種運動速度較慢的冷黑暗物質在大霹靂發生後,很快地就有重力陷縮的效應,產生較小尺度的不均勻塊;這些冷黑暗物質形成的不均勻就像個口袋一樣,將一般物質吸進來,先形成星系。劍橋大學的George Efstathion、Frenk、Davis以及White曾經一起合作模擬了冷黑暗物質宇宙,結果與大部分的觀測現象相符(見圖七)。

冷黑暗物質就是我們要的嗎?各位不要忘記我們還不知道冷黑暗物質是啥?現今已有數個黑暗物質的候選者,但全都是理論的產物,並且大多與基本粒子物理有關,如軸子(axion)、伴光子(photino)、超弦(super string)。這方面是冷黑暗物質最大的缺陷,當然也是大家努力的目標,希望儘快在實驗室中找到這些怪異的粒子。
現今的天文物理研究,不僅要靠理論思考,還得靠電腦的輔助,才有辦法解決日益複雜、龐大的問題。教科書上所教的,都是在理想的情形下,直接就可以求得解答。真實的自然蘊藏著許多非線性的特性,大多不能光靠教科書上所教的方式就能解決,電腦的快速運算能力是對付非線性問題的最佳利器。我們先從雜亂無章的資料中找到脈絡可循的線索,然後設計出令人折服的模型,最後才用電腦做驗證的工作。有一點必須注意,假如我們太注重電腦的神力,那可能使我們掉入另一堆雜亂無章的資料中,電腦可以使我們「所見即所得」(what we see is what we got),但也可能使我們「輸入一堆垃圾,然後輸出一堆垃圾」(garbage in, garbage out)。
(註一):這種技術一般用來加快運算速度。在電腦計算中,每個加減乘除的動作都算一個浮點運算,一個浮點運算通常CPU要經過二∼三次的處理過程,假如一次處理過程需要一個單位時間,那麼CPU做一次加法需要二個單位時間,然後才能計算下一個浮點運算。pipe-line技術,可以使CPU正在做第二個處理過程時,同時做下一個浮點運算的第一個處理過程;這就像水在水管中流動一樣,源源不絕,使得CPU可以每隔一個單位時間就做一個浮點運算。
(註二):重力的帕松方程式和電磁學的帕松方程式類似,電磁學的帕松方程式說在空間中假如有電荷源(如電子、離子),則在它四周會形成一個電場,電場的大小就是以帕松方程式描述(▽2Φ=-4πρ,ρ電荷密度)。同樣地,重力場的帕松方程式表示在空間中假如有物體存在,則在這物體四周也會有一個重力場,重力場的大小就是由帕松方程式描述(▽2Φ=4πρ,ρ質量密度),它和電磁學不同的地方在於電力有吸引力和排斥力,重力只有吸引力。
(註三):秒差距(pc)是天文上常用的距離單位,一個秒差距大約3.26光年。百萬秒差距(Mpc)是一百萬個秒差距,約326萬光年。
|