-
1 # 想做小學生857
-
2 # 三清源
這個模擬在理論上是行得通的,但也僅僅是在理論上。
為什麼這麼說?
首先,以人類的認知,只能理解三維空間。
簡單地說就是:零維是點,沒有長度、寬度及高度。一維是由無數的點組成的一條線,只有長度,沒有其中的寬度、高度。二維是由無數的線組成的面,有長度、寬度沒有高度。三維是由無數的面組成的體,有長度、寬度、高度。而第四維有說是時間軸的也有說是時間維的,只是現在沒有辦法證明,而宇宙起碼是四維的。超弦理論的提出又將維度提升到了幾十種。。。感覺地球滅亡前都搞不明白這個事。
我相信人類的好奇心會促使一些科學院做出瘋狂的舉動。但就算做出來的也沒有意義。
為什麼沒有意義?
首先,這樣的計算機起碼要能計算四維空間及以上的能力。而以人類的主觀感知也僅僅停留在二維的世界裡。或許將來能感受到更高維度,但我想那時已經不是人類了。也可能更高的文明。
簡單的比喻一下就是你用疊紙飛機的水平就想造宇宙飛船,這顯然是不現實的。反過來說如果人類達到了四維空間的層次,那麼在造這麼個玩意有什麼意義?腦袋就能想明白的事沒必要多此一舉。
假如在機緣巧合下達到了製造這種計算機的水平,並且造了出來。那對人類來說就是一場滅絕之災。試想一個二維世界造除了高出自己無數個等級的boss且不受控制,還沒有絲毫感情可言,這不是災難是什麼?
二維人類對計算機輸入程式碼說:“嘿,你是我們造出來的,乖乖聽話”。
四維計算機說:“滾你媽蛋,骯髒的人類去死吧”。
至於後面的模擬宇宙那些事和人類就沒什麼關係了,看過《終結者》的都知道,而電影裡的那臺電腦在它面前就是個渣渣。
宇宙還是很美麗的。 -
3 # 科學認識論
這個問題要說清楚的需要答主有很強的專業知識,而且讀者也要具有一定的水平!首先給出答案:宇宙確實可以用計算機模擬,但是難度是很大的。而且目前的模擬都是需要利用簡化方法!不然宇宙這麼大的資料量人類一輩子都造不出來這麼牛逼的計算機.....
為什麼模擬需要簡化對計算機稍微瞭解的人都會知道,模擬宇宙其實就是將相關資訊轉化為引數,而通常需要將這些引數全部寫進一個檔案或幾個檔案中!
舉個簡單例子,我們需要計算粒子間的引力作用!在其間我們必須考慮宇宙膨脹!那麼我們就必須將粒子的位置(x1,x2,x3)和速度(v1,v2,v3)描述出來,如果只是簡單兩個原子的話那麼很輕鬆,因為只存在兩個粒子間的力可能只需要48B,但是一旦增加粒子那麼粒子間的相互作用就變的非常複雜,假設我們計算機是4G記憶體最多也就算500^3的粒子數目,這還是理想情況!所以當你要模擬宇宙.....粒子數到10^24無論什麼計算機都無法承受了。所以我們只能簡化模型!!!
這一點做計算物理的同學會深有感觸,有時候粒子數多的系統跑一次任務可能有時需要幾個月......
簡化模型計算前面已經說了必須簡化模型,那麼我們通常簡化模型的方式分為Tree-Method(樹形法)和Particle-Mesh簡單而言第一種方法就是根據粒子密度的不同來劃分網格,計算格點間的作用力。而第二種方法就是不會因為密度不同網格大小不同,所有網格大小一致!
隨後開始計算,這裡涉及很多的程式還有理論很複雜我只敘述大致過程!
第一步:生成初始條件,簡單而言就是知道粒子的初始位置!
第二步:生成了作用力,接下來就開始迴圈進行粒子接下來的位置和速度。這是最耗時間和最複雜的一步。
第三步:計算物質密度功率譜,與觀測結果進行對比!(最主要的目的)
總之接下來還有資料處理,就不做過多敘述了。當然如果對這方面感興趣的話也可以自己在計算機上跑,只不過要下點功夫看文獻,學程度,當然你所能跑的規模很小!
實話說目前我們網上流傳出色彩鮮明的宇宙圖片都是模擬出來的,(包括暗物質、暗能量)只不過都是大型計算機完成的,例如天河二號這種........
最後給大家介紹一個文獻現代宇宙學中的數值模擬技術和應用--《中國科學:物理學 力學 天文學》2013年06期可以去看看是中文的,講的很清晰!
如果沒有功夫去實踐的朋友就當看個熱鬧了,確實還是比較複雜的..... -
4 # 匡夫
宇宙無限大,無邊無際。
因此,宇宙無形。
所以,宇宙全形無可模擬。
但是,宇宙區域性可以模擬。
電腦,當然可以模擬宇宙區域性。
回覆列表
首先回答題主的問題:
模型:最簡單的是基本的牛頓引力問題,即解泊松方程:
∇^2 φ(x) = 4πGρ(x)
必要的引數:有太多,比如你要模擬的宇宙尺度的大小,粒子(就是天體)數目,等等。。。還有一些計算機的引數,通常要把這些引數全部寫進一個或幾個檔案才可以。
計算機語言:C/C++,Fortran
然後展開了說:
這類問題其實就是多體問題,給出粒子的初始位置與速度,算出粒子與粒子之間的牛頓引力,計算其根據時間的演化。只是在此過程中,你需要考慮宇宙膨脹的效應。
當然,當粒子數量很少的時候,我們還是很容易計算的。對於計算機來說,也沒有任何負擔,但是當例子數目增加到成百上千萬的時候,我堅信你自己的計算機肯定是沒戲了~
那好,我們這樣做一個計算:
我們假設每個粒子質量一樣,只計算牛頓引力,因此每一個粒子的性質可以用它的位置(x1,x2,x3)和速度(v1,v2,v3)來描述,我們做如下假設:
每個粒子用單精度儲存,則:
2-Body問題需要佔用4B*6*2=48B的記憶體,計算1個粒子-粒子作用力(pp-force),可以解出Kepler 軌道。3-Body問題需要佔用4B*6*3=72B的記憶體,計算3個粒子-粒子作用力(pp-force),軌道沒有解析解。類推,N-body問題需要佔用4B*6*N=(24*N)B,計算(N-1)N/2個粒子-粒子作用力(pp-force),也沒有軌道的解析解。
這裡解釋一下,我們在這裡假設所有粒子分佈在一個正方形“盒子”中,這個盒子滿足週期性邊界條件,也就是說粒子從一個邊出去,就從對應的另一邊進來。上圖 np是指初始我們撒粒子時,每一條邊撒的數目,於是np^3就是粒子總數了。我們把粒子的位置和速度資訊存入xv.dat檔案,可以看看這個檔案的大小。假設你的計算機記憶體是4G,你估算一下,還是假設粒子資訊以4B的精度儲存,你只能算約500^3的粒子數目。因此你需要大型計算機。我們繼續估算,當粒子數目很多的時候,如10^12兩級,無論什麼樣子的計算機也承受不了10^24這個數量級的pp-force的計算。(給一個圖來感受一下)
因此我們需要簡化這個計算過程,通常來說,有兩種方法:
1、Tree-Method(樹形法):
也就是根據粒子密度不同,劃分網格,將粒子歸算與一個網格之內,計算格點格點與格點間的作用力。著名的Gadget程式就是這個方法,稍後在多科普一些Gadget,先回到pp-force的解決辦法上。
2、Particle-Mesh:
這種方法不同於樹形法,這個方法的網格大小是相同的,固定的,不會根據粒子密度不同而改變。這種方法下面還要分為 Cloud-in-Cell (CIC)和 Nearest-Grid-Particle (NGP)兩種解Poisson方程的演算法。
格點之間之間,計算格點與格點的作用力,格點內部,計算粒子與粒子的作用力,透過這種方法減少計算量。
在CubeP3M這個程式中,粗格點計算使用CIC,細格點使用NGP
如上圖,左面是粗格點,右面是細格點。
給一個CubeP3M的連結:
CubePM - CITA Computing
這個程式我一會也會說一些。
其實這裡面有一個小問題,就是假設粒子與粒子距離過於緊密,那麼根據平方法比例,粒子與粒子作用力就會很大很大,粒子加速度會很大很大很大很大,最後粒子就飛了。這會出問題的。這會兒就需要一個 force softening,即力的軟化問題。即在一個粒子的一定範圍內,不計算粒子與粒子之間的作用力。但是,即使簡化了這些計算,我們的小PC機還是不能滿足計算需求(除非你費大量時間一個一個地計算作用力),因此我們需要程式進行平行計算:Message Passing Interface(MPI),Open Multi-Processing (OpenMP),等等。。。
隨後就可以說一下計算的流程:
第一:生成初始條件(物質密度分佈),即生成粒子的在“盒子”的位置
粒子的初始位置是根據初始功率譜確定的,可以透過CAMB計算轉移方程得到,而且我們計算得到的這個密度場是一個隨機高斯場。在操作時,我們先把粒子均勻擺在格點內,然後根據這個密度場將粒子進行移動,到它的初始位置。
第二:生成了計算每一步的作用力,然後算出粒子接下來的位置和速度,以此迴圈,知道模擬至當今宇宙(紅移等於0)。這一步說起來很簡單,但是實際上是程式中最複雜的一部分,核心是對泊松方程進行傅立葉變換,在傅立葉空間求解後返回實空間。(具體的看文獻吧,較複雜,太長不贅述,看Gadget和CubeP3M的文獻即可) 當然,如果我們在這一步裡面不只有引力作用,比如我們加了磁流體加了重子,我們便需要考慮引力之外的物理過程,這會使得計算更復雜。
第三:計算物質密度功率譜(最主要),與觀測對比,檢驗結果。
這裡實際上就是計算物質密度分佈的統計資訊,根據尺度得到物質密度的功率譜。
(功率譜大概就長上圖這樣,實線是觀測,虛線是幾次模擬的)
算到這裡基本就結束了以此模擬運算,然後會有資料處理,不贅述。
除了純暗物質模擬,我們還可以加入重子(baryonic particles)過程,加入磁流體過程,等等。
下面舉例開始:
這中模擬宇宙演化的程式其實還是不少的。
通常來講,我們最常用的還是Gadget,而且很多程式都是基於它做的:Cosmological simulations with GADGET 文獻:GADGET: a code for collisionless and gasdynamical cosmological simulations,The cosmological simulation code GADGET-2,這個程式你在你自己的筆記本上也能玩的起來,但是規模很小而已~(下圖為當時自己筆記本跑的,因為筆記本壞了一次,引數都丟了。。。)
還有CubeP3M,這是我接觸的第一個這種程式http://arxiv.org/abs/1208.5098,jharno/cubep3m · GitHub這個程式目前的記錄是3萬億粒子(暗物質+中微子,應該是粒子數目的最高紀錄),在天河2號上執行的。目前資料正在處理中(下圖只是一個暗物質+中微子的小規測試時的模模擬)。
當然還有很多組在做這類工作,比如去年很火的Illustris:Properties of galaxies reproduced by a hydrodynamic simulation。如下圖(很帥!):
國內也有做的,比如盤古模擬,
見下面這篇文獻:現代宇宙學中的數值模擬技術和應用--《中國科學:物理學 力學 天文學》2013年06期(這個講的應該很詳細了,中文的,把模擬原理很學術化地講一下,講的也很清楚)
最後做一個對未來的展望,數值模擬會怎樣發展呢?引用文獻的圖一給了很好的答案。粒子的數量級和年份呈線性增長。
|
最後,LZ確實姿勢水平有限,寫的比較淺顯,先這樣吧(也許還會有更新)