原貼文時間:PM12:29, Thursday, May 12, 2011
蒙特卡洛法不能使用時間相依亂數,以C語言(C89)來說,「不能」採用stdlib下之亂數函數rand,而是需要採用偽隨機數,網路上隨處可取得已實作之程式碼。在偽隨機數方面,建議採用MT19937,因為該演算法偽隨機數之均勻性在既有之演算法中最高,已有相當多演算法比較類文獻證實。原子群以struct定義x、y、z、r、m、c、v,亂數在邊界區域內產生原子群座標x、y、z。核子彈殼邊界區域是用以產生原子群座標,但是原子群在產生核裂變過程中,無須以任何邊界條件進行束制,因為整個核裂變過程不到1微秒,核子彈殼邊界條件不足以對核裂變產生任何影響,亦即就一堆原子群直接進行運動模擬,但是筆者建議核子彈殼採用球形,以使核裂變較為均勻分散。此外,筆者建議核子彈自幾何中央區域單點引爆,因為多點引爆核子彈會因為時間無法同步,而可能產生其能量釋放不如預期之影響。
之後,再以3D Delaunay產生唯一之計算結果,來取得每個原子群和周圍原子群之相鄰關係及半徑(r),再根據半徑推估原子群數量(c)及其相應之質量(m)。之後,採用物理學動能公式(E=1/2mv^2),根據原子群質量m,和移動速度0.99倍光速,並考慮動力學之撞擊後運動方向,來計算整體之能量釋放結果。原子和原子撞擊後之移動方向,非常類似於撞球原理,得以此評估計算結果是否合理。核子彈計算參數之次方得先行提出,次方和數值得分別採用int和double儲存於struct定義之能量中,並於實際運算中分開進行計算,以獲得精確之能量計算數值;若是電腦記憶體足夠,得使用大數計算程序,對於核子彈計算參數以較大之記憶體儲存。以上,即是超強核子彈全部模擬過程及細節。
符號列表
筆者在碩士階段,乃是以自選論文主題方式,從事網格生成(Mesh)之研究,亦是採用Delaunay Criteria。筆者本來以為Delaunay很簡單,因為3D實作程式碼約一百多行左右,因而感到是件十分容易之事。筆者在以Java實作出2D和3D Delaunay後,打算碩士做2D博士做3D,然而,筆者未考取博士班,亦就此停止相關研究。網格生成比點產生唯一結果困難之處,在於網格生成之重點在於從事品質改善,但是核子彈以Delaunay產生關聯性之重點,在於擁有唯一性即可,點半徑是大是小無關結果,亦無所謂之網格品質問題。筆者碩士論文提出2D Delaunay品質改善,但是並未對3D部份作進一步改善。由於核子彈模擬過程涉及大數計算,雖然筆者乃是將次方和數值分開計算,並非採用大數計算程序,但是大數計算卻是促使筆者來日從事RSA研究之動機。
蒙特卡洛法不能使用時間相依亂數,以C語言(C89)來說,「不能」採用stdlib下之亂數函數rand,而是需要採用偽隨機數,網路上隨處可取得已實作之程式碼。在偽隨機數方面,建議採用MT19937,因為該演算法偽隨機數之均勻性在既有之演算法中最高,已有相當多演算法比較類文獻證實。原子群以struct定義x、y、z、r、m、c、v,亂數在邊界區域內產生原子群座標x、y、z。核子彈殼邊界區域是用以產生原子群座標,但是原子群在產生核裂變過程中,無須以任何邊界條件進行束制,因為整個核裂變過程不到1微秒,核子彈殼邊界條件不足以對核裂變產生任何影響,亦即就一堆原子群直接進行運動模擬,但是筆者建議核子彈殼採用球形,以使核裂變較為均勻分散。此外,筆者建議核子彈自幾何中央區域單點引爆,因為多點引爆核子彈會因為時間無法同步,而可能產生其能量釋放不如預期之影響。
之後,再以3D Delaunay產生唯一之計算結果,來取得每個原子群和周圍原子群之相鄰關係及半徑(r),再根據半徑推估原子群數量(c)及其相應之質量(m)。之後,採用物理學動能公式(E=1/2mv^2),根據原子群質量m,和移動速度0.99倍光速,並考慮動力學之撞擊後運動方向,來計算整體之能量釋放結果。原子和原子撞擊後之移動方向,非常類似於撞球原理,得以此評估計算結果是否合理。核子彈計算參數之次方得先行提出,次方和數值得分別採用int和double儲存於struct定義之能量中,並於實際運算中分開進行計算,以獲得精確之能量計算數值;若是電腦記憶體足夠,得使用大數計算程序,對於核子彈計算參數以較大之記憶體儲存。以上,即是超強核子彈全部模擬過程及細節。
x | X軸座標 |
y | Y軸座標 |
z | Z軸座標 |
r | 原子群半徑:radius;假設幾種組合型式,單一鈾原子半徑為0.156nm。 |
m | 原子群質量:mass;以莫耳質量反算取值,得避免數值累計誤差。 |
c | 原子群數量:corpuscle;根據半徑大小評估原子群數量,在奈米等級之原子群數量可能有1、2、3、…個。 |
v | 原子群散射速度:velocity;296779392m/s,該數值為0.98開根號乘上1983年由國際定義之真空光速。 |
筆者在碩士階段,乃是以自選論文主題方式,從事網格生成(Mesh)之研究,亦是採用Delaunay Criteria。筆者本來以為Delaunay很簡單,因為3D實作程式碼約一百多行左右,因而感到是件十分容易之事。筆者在以Java實作出2D和3D Delaunay後,打算碩士做2D博士做3D,然而,筆者未考取博士班,亦就此停止相關研究。網格生成比點產生唯一結果困難之處,在於網格生成之重點在於從事品質改善,但是核子彈以Delaunay產生關聯性之重點,在於擁有唯一性即可,點半徑是大是小無關結果,亦無所謂之網格品質問題。筆者碩士論文提出2D Delaunay品質改善,但是並未對3D部份作進一步改善。由於核子彈模擬過程涉及大數計算,雖然筆者乃是將次方和數值分開計算,並非採用大數計算程序,但是大數計算卻是促使筆者來日從事RSA研究之動機。