-
>
宇宙、量子和人類心靈
-
>
氣候文明史
-
>
南極100天
-
>
考研數學專題練1200題
-
>
希格斯:“上帝粒子”的發明與發現
-
>
神農架疊層石:10多億年前遠古海洋微生物建造的大堡礁
-
>
聲音簡史
計算物理學 版權信息
- ISBN:9787030730930
- 條形碼:9787030730930 ; 978-7-03-073093-0
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
計算物理學 內容簡介
本書以西北工業大學物理科學與技術學院“計算物理學”課程講義為藍本完成。全書共12章,第1~8章為計算物理學基礎部分,主要介紹基本物理學問題的數值解法;第9~12章為多尺度計算的相關方法,主要介紹微觀尺度分子動力學方法、介觀尺度元胞自動機方法和相場方法、宏觀尺度有限元方法。本書系統介紹計算物理學方法及其在多尺度計算方面的應用,注重內容結構的邏輯關系。附錄為部分例題的計算程序,供讀者參考。 本書可作為高等院校物理及相關專業本科生的計算物理學課程教材或參考書,也可供研究生及科研人員參考使用。
計算物理學 目錄
前言
第1章 緒論 1
1.1 計算物理學的起源和發展 1
1.2 計算物理學的研究內容和方法 3
1.3 計算物理中的誤差 5
1.4 計算機編程語言 7
參考文獻 8
第2章 函數近似 10
2.1 代數多項式插值法 10
2.1.1 拉格朗日插值法 12
2.1.2 牛頓插值法 16
2.2 *小二乘擬合法 19
2.2.1 線性擬合法 20
2.2.2 代數多項式擬合法 21
習題 22
參考文獻 23
第3章 數值積分與數值微分 24
3.1 數值積分 24
3.1.1 單次等間距求積公式的建立 25
3.1.2 復合求積公式的建立 28
3.1.3 誤差的事后估計與步長的自動選擇 31
3.1.4 龍貝格積分公式 33
3.1.5 反常積分的計算 35
3.2 數值微分 36
習題 37
參考文獻 38
第4章 線性方程組的數值解法 39
4.1 線性方程組的直接解法 39
4.1.1 高斯消去法 40
4.1.2 矩陣三角分解法 43
4.1.3 三對角矩陣追趕法 45
4.2 線性方程組的迭代法求解 46
4.2.1 雅可比迭代法 46
4.2.2 高斯-賽德爾迭代法 48
4.2.3 逐次超松弛迭代法 49
習題 51
參考文獻 52
第5章 非線性方程的數值解法 53
5.1 非線性方程的直接解法 53
5.2 非線性方程的迭代法求解 56
5.2.1 不動點迭代法 56
5.2.2 牛頓迭代法 59
5.2.3 牛頓下山法 61
5.2.4 弦截法 62
5.2.5 非線性方程組的牛頓迭代法 64
習題 65
參考文獻 66
第6章 常微分方程的數值解法 67
6.1 常微分方程概述 67
6.2 常微分方程初值問題的數值解法 68
6.2.1 歐拉法 69
6.2.2 預估-校正方法 71
6.2.3 歐拉法的局部截斷誤差 72
6.2.4 龍格-庫塔方法 75
6.2.5 多步亞當斯方法 79
6.3 常微分方程邊值問題的數值解法 81
習題 83
參考文獻 83
第7章 偏微分方程的數值解法 84
7.1 偏微分方程概述 84
7.2 拋物型偏微分方程的數值解法 85
7.2.1 一維熱傳導方程古典格式的構造與實現 86
7.2.2 二維熱傳導方程的離散格式 90
7.3 雙曲型偏微分方程的數值解法 93
7.3.1 顯格式 94
7.3.2 隱格式 96
7.3.3 迎風格式和Lax-Wendroff格式 97
7.3.4 其他格式 100
7.4 橢圓型偏微分方程的數值解法 102
習題 104
參考文獻 105
第8章 蒙特卡羅方法 106
8.1 蒙特卡羅方法的理論基礎 106
8.1.1 布豐投針試驗 106
8.1.2 大數定律 108
8.1.3 中心極限定理 109
8.2 蒙特卡羅模擬的實施策略 111
8.2.1 蒙特卡羅模擬的基本步驟 111
8.2.2 隨機數 112
8.2.3 隨機抽樣方法 113
8.3 蒙特卡羅模擬的應用 117
8.3.1 定積分的數值計算 117
8.3.2 隨機游走問題 121
習題 126
參考文獻 127
第9章 分子動力學方法 128
9.1 分子動力學模擬的基本原理 128
9.1.1 牛頓運動方程式的數值解法 129
9.1.2 分子動力學模擬計算流程及條件設置 131
9.2 分子動力學應用實例 135
9.3 分子動力學在金屬材料加工中的應用 143
習題 147
參考文獻 148
第10章 元胞自動機方法 150
10.1 元胞自動機的基本原理 150
10.1.1 元胞自動機的構成 151
10.1.2 元胞自動機的分類 154
10.2 元胞自動機的應用 154
10.2.1 元胞自動機在交通領域的應用 155
10.2.2 元胞自動機在物理學領域的應用 157
10.3 格子玻爾茲曼方法 158
10.3.1 格子玻爾茲曼方法簡介 159
10.3.2 模擬對流的格子玻爾茲曼方法 159
10.3.3 模擬對流與熱擴散耦合的格子玻爾茲曼方法 162
習題 165
參考文獻 166
第11章 相場方法 167
11.1 相場方法概述 167
11.2 相場方法的基本思想 169
11.3 相場方法的應用 172
11.3.1 非守恒序參量的演化 172
11.3.2 調幅分解過程的相場模型 174
11.3.3 純材料凝固過程的相場模型 175
11.3.4 表面螺旋生長的相場模型 181
習題 183
參考文獻 184
第12章 有限元方法 186
12.1 泛函與變分原理 186
12.1.1 泛函的定義 187
12.1.2 變分的定義 188
12.1.3 變分原理 190
12.2 以變分原理為基礎的有限元方法 191
12.2.1 泛函形式的構造 192
12.2.2 瑞利-里茨法 193
12.2.3 變分有限元方法 196
12.3 加權余量法 199
12.3.1 微分方程的等效積分形式 200
12.3.2 加權余量法的求解過程 201
習題 204
參考文獻 205
附錄:部分例題對應的源程序 207
計算物理學 節選
第1章 緒論 計算機是20世紀人類昀重要的發明之一,對人類的生產生活產生了極其重要的影響。數值計算是隨計算機一起發展起來的,它與具體的科學領域相結合便催生了相關的計算科學,計算科學常以“計算+”的形式出現。計算物理學(計算+物理)是諸多計算科學中的典型代表。計算物理學是物理學、數學和計算科學之間的交叉學科,它在物理學中的地位存在一定爭議,有時被視為理論物理的重要工具,有時也被看作是“計算機實驗”的方法,同時也有人將計算物理學看作是獨立于理論物理和實驗物理的物理學研究的第三種手段。幾乎所有物理學的主要分支都能在計算物理學的應用中找到結合點,如計算力學、計算電動力學、計算固體物理等。因此,計算物理學在當代科學技術和工程實踐研究中發揮著日益重要的作用[1-3]。 1.1 計算物理學的起源和發展 19世紀中葉以前,物理學是一門基于實驗的學科。盡管在這一時期,數學解析與力學已經深度融合,并逐漸發展出一套以拉格朗日力學和哈密頓力學為代表,基于數學分析求解力學問題的方法(分析力學),但是物理學依舊是實驗主導在前,理論分析在后。物理學的理論分析多用于對已知現象的解釋和拓展,并沒有展現出揭示新物理現象的能力。1863年,經典電動力學創始人、統計物理學奠基人之一的麥克斯韋建立了著名的麥克斯韋方程組,以此預言了電磁波的存在,這個理論預言在后來得到了充分的實驗驗證,為人類社會進入電氣化時代奠定了基礎。由此,理論物理開始成為物理學的一個獨立分支,并在隨后100年間得到了充分的發展。20世紀初,近代物理學爆炸式的發展使理論物理相對成熟,而一些問題也隨之產生。物理學家和科技工作者發現,盡管通過理論方法能夠獲得描述客觀世界基本規律的控制方程,但有些方程過于復雜而使傳統的解析方法無法直接求解,這不僅是籠罩在物理學研究上的一團烏云,也成了物理學家心中長時間的心結。雖然著名英國理論物理學家、量子力學奠基者之一的狄拉克于1929年在 Proceedings of the Royal Society A:Mathematical, Physical and Engineering Sciences上發表了著名評論[4]“量子力學和整個化學所需的所有基本規律都已經給出”,但是量子力學方程非常復雜,只能在較多近似條件下才能得到解析解。事實上,只有特定條件下的解析解是遠遠不夠的,物理學家期望能夠對控制方程直接求解,從而真正實現從數值計算中理解、發現并預言新的物理現象。但是,20世紀初,計算工具的發展遠遠趕不上物理學家對計算的需求。 1941年的珍珠港事件不僅是人類歷史的轉折點,也是物理學史的重要轉折點,科學的發展**次這么近距離影響人類歷史的走向。珍珠港事件后,在愛因斯坦等一批物理學家的推動下,美國于1942年6月開始秘密實施原子彈研制計劃,即曼哈頓計劃。在實驗方面,核武器的研制不僅花銷極大(僅曼哈頓計劃的費用占美國當年 GPD的0.8%),而且實驗難度極高,資源也極其匱乏,在實驗過程中無法獲得復雜過程的所有數據。在理論方面,核武器研制所涉及的理論模型和方程非常復雜,根本沒有解析解,完全無法進行手動計算,只能利用高性能計算設備進行數值計算和模擬。基于此,美國于1944年開始大規模建造計算機。美國著名計算機學家、物理學家,被稱為計算機之父的馮 諾依曼曾估計,曼哈頓計劃研制過程中所需的計算量可能超過了人類有史以來所進行的全部算數運算的總和。 如同硬幣一樣,任何事情都具有兩面性。一方面原子彈給人類帶來了極端的恐懼,人類首次獲得了完全毀滅自身的能力,但另一方面,伴隨而生的計算機技術的快速發展則極大地促進了科學技術的進步。1959年5月,美國揭開了曼哈頓計劃的內幕,其研究內容也可以部分解密并對科學界公開,遂以“計算物理方法”叢書的名義陸續編輯出版。這套叢書在1963~1977年共出版17卷,內容涉及統計物理、量子力學、流體力學、核粒子運動、核物理、天體物理、固體物理、等離子體物理、受控熱核反應、地球物理、原子與分子散射、地表波、射電天文、大氣環流等方面的物理學問題,介紹了這些物理學問題在計算機上求解計算所需要的計算方法。在這套叢書中,計算物理(computational physics)這一名詞**次正式出現,大致反映了計算物理的概貌。從這一刻開始,計算物理、理論物理、實驗物理就逐漸成為物理學研究中的“三駕馬車”,并駕齊驅。 計算物理學發展的原動力是美國核武器研制的刺激,計算機昀初也是為開發核武器和破譯密碼而被研制出來的,但在20世紀50年代初期,計算機就已經部分轉為非軍事用途。在美國著名物理學家費米的推動下,美國洛斯 阿拉莫斯國家實驗室(Los Alamos National Laboratory, LANL)于1952年開始將計算機應用于非線性系統的長時間行為和大尺度性質的研究[5]。1955年5月,費米及其合作者編寫的國家實驗室研究報告中提出了許多與計算物理學相關的問題,很多人把這一年看作計算物理元年。隨著計算機在科學界的推廣,越來越多的物理學家開始關注計算物理的相關問題。1965年,科學家 Harlow與 Fromm在 Scientific American期刊上發表了 Computer Experiments in Fluid Dynamics一文[6],首次提出了計算機實驗的概念。由此,數值計算開始逐漸不再依附于實驗或者理論研究,人們也開始利用計算物理技術,不斷提供一系列新概念,并發現一系列新的物理現象,從而實現通過計算物理理解、發現和預言新物理現象的目標。經過近60年的發展,計算物理學已與物理學的方方面面相互交融,現今物理學研究都離不開計算物理學的輔助和支撐。近年來,運行速度每秒萬億次甚至億億次的超級計算機的出現也給人們的生活和工作帶來了革命性的改變。我國計算機行業的起步并不算晚,**臺電子計算機103機于1958年問世。由于超級計算機可應用于天氣預報、風洞模擬實驗、航空航天、地震預警、武器研發等方面,我國對超級計算機的需求日益增加。1983年,銀河系列超級計算機成功研發,我國成為當時世界上少數幾個能夠預測和發布5~7天天氣預報的國家。近年來,我國在超級計算機方面發展迅速,已躍居國際先進國家行列,2020年的世界超級計算機500強榜單中,我國占217個,其中神威 太湖之光排名第四、天河二號排名第五。 1.2 計算物理學的研究內容和方法 在實際研究過程中,計算物理與理論物理、實驗物理關系密切,理論物理為計算物理提供理論依據和抽象的模型方程,并檢驗分析計算結果;實驗物理則為計算物理提供數據起點,驗證計算結果。事實上,計算物理學的研究范圍包括但不限于以下五方面,即復雜物理體系的數值計算與模擬、復雜物理體系的解析計算與分析、物理實驗數值的采集與分析處理、物理實驗過程與實驗系統的模擬與控制及物理圖像的獲得、識別和處理。一般來講,計算物理學主要由建模(modeling)、模擬(simulation)和計算(computation)三部分組成,這三部分也是初學者容易混淆的地方,需要特別區分。建模偏重物理、數學模型的建立,是計算物理學的基礎;模擬也被稱為計算機實驗,是用計算手段對物理過程的描述、表達和再現,進而實現對物理現象的探索;計算是指以計算機為基礎的數值研究,即對理論問題的數值研究和實驗數據的數值分析。 計算物理學的研究方法脈絡非常清晰。在研究過程中,首先需要確定物理模型,根據物理模型選取數學方法,即算法;其次編程計算,分析所得到的計算結果;昀后得出物理結論。其中,算法是所有問題的重中之重,主要關注計算精度、計算收斂性、計算穩定性和計算復雜性,這些問題將在本書后續內容中詳細討論。首先通過幾個簡單的例子,來說明計算方法的重要性。 例1.1 線性方程組的求解計算物理學中的許多問題可歸結為線性方程組的求解問題,對于下列方程組: (1.1) 其中,均為常數。由線性代數的知識可知,只要其系數行列式滿足: (1.2) 方程就有唯一解。其中 Dj是行列式第 j列,用 b代替所構成的行列式,這就是著名的克拉默法則。但是,克拉默法則往往不能應用于實際計算,因為當 n=20時,所需要的乘法運算竟達到1021次。也就是說,如果采用運算速度為每秒上億次的超級計算機,也要連續計算數百萬年才能完成計算。顯然,這個計算量是不可接受的。但是,如果采用數值計算的方法,無論是直接消去法,還是迭代法,在小型電子計算機上只需要幾秒鐘,就可以完成求解。這說明,采用不同的計算方法,計算工作量的差距是非常大的。 例1.2 非線性方程求根問題 迭代法是非線性方程求根的常用方法。假設已知方程在附近有根,如果用迭代法求解,則首先需要構建迭代公式,然后逐步求得所需要的根。根據原始方程,可構建如下迭代公式: (1.3) 以作為初值代入式(1.3)中計算,依次得到。顯然,5次迭代以后,結果收斂于0.39185。當然,也可以有不同迭代公式的構造方法,如果構造迭代公式為 (1.4)這時,仍以作為初值代入式(1.4)中計算,將依次得到,但是所得到的計算結果是發散的。因此,當計算方法選擇不合適時,可能無法得到收斂的解。 例1.3 平方根倒數速算法 《雷神之錘Ⅲ》是20世紀90年代的經典電腦游戲之一,人們在著迷于游戲本身的同時,也十分好奇為什么該系列的游戲即使在當時較低配置的計算機上也能極其流暢地運行,2003年在公共論壇上出現的平方根倒數速算的源代碼給出了答案。原來在計算機圖形學中,如果要精確求出照明和投影的波動角度和反射效果,需要進行大量平方根倒數的計算,而該速算法極大減少了求平方根倒數時浮點運算所產生的計算量。該速算法的核心程序如下: float R_rsqrt( float number ) { long j; float x2, y; const float ths = 1.5F; x2 = num * 0.5F; x = num; j = * ( long * ) &x; j = 0x5f3759df - ( j >> 1 ); x = * ( float * ) &j; x = x * ( ths - ( x2 * x * x ) ); return x; } 該程序的核心在于選擇了“魔術數字”0x5f3759df,然后通過一次牛頓迭代,即可得到滿足數值精度的平方根倒數。《雷神之錘Ⅲ》中大量應用了該速算法,從而極大地提高了計算效率。*早認為該速算法是由美國天才程序設計師、開源軟件的倡導者 Carmack研發,但后來人們發現,該速算法早在計算機圖形學中就有所應用,因此直到現在該速算法的作者仍無從考究,人們也沒能知曉“魔術數字”選擇的原因。這說明,簡單、精妙的算法能夠極大地推動科技的進步。 1.3 計算物理中的誤差 計算物理中的誤差是不可避免的,要求計算結果的絕對準確也是沒有意義的,因此如何在提升計算效率的同時,減小計算過程中的誤差是計算物理學永恒的主題。誤差就是近似值和準確值之間的差值,即,其中e為誤差,x為準確值,x為近似值。需要注意的是,誤差是有量綱的,量綱同。在實際問題中,因為準確值x*往往是未知的,所以誤差往往無法準確計算,因而有關誤差的定義式就失去了實際意義,只能估計誤差絕對值的一個上限。假設存在一個絕對值極小的正數,使 (1.5) 成立,則稱.為近似值x的絕對誤差限。 事實上,絕對誤差的大小仍舊不能完全表示出近似值的精確度,因此還應該考慮相對誤差的大小。將近似值誤差的絕對值與準確值的絕對值之比定義為相對誤差,即 (1.6) 在實際計算中,由于準確
- >
小考拉的故事-套裝共3冊
- >
名家帶你讀魯迅:朝花夕拾
- >
李白與唐代文化
- >
月亮與六便士
- >
中國人在烏蘇里邊疆區:歷史與人類學概述
- >
伯納黛特,你要去哪(2021新版)
- >
【精裝繪本】畫給孩子的中國神話
- >
新文學天穹兩巨星--魯迅與胡適/紅燭學術叢書(紅燭學術叢書)