劉金遠編著的《計算物理學(附光盤)》是作者在多年教學實踐和科學研究的基礎上,對計算物理的教學內容精選、構建、充實和整理而寫成的。全書內容主要包括 三部分:(1)常用的典型數值方法:線性和非線性方程的數值解法、函數近似方法、數值微分和數值積分方法及常微分和偏微分方程數值方法等;(2)蒙特卡羅 方法和分子動力學方法;(3)有限單元法簡介。本書比較系統地介紹了計算物理方法及其應用實例,并注意了各部分內容的內在聯系和自洽,以適應不同層次的需 要。本書附有全部例題的相應計算程序和書中附圖運行程序的光盤。 《計算物理學(附光盤)》可作為高等學校物理及其他相關專業本科生的計算物理課程教材或參考書,也可供研究生及相關科研人員參考使用。
劉金遠編著的《計算物理學(附光盤)》比較系統地介紹了計算物理方法及其應用實例,并注意了各部分內容的內在聯系和自洽,以適應不同層次的需要。本書可作為高等學校物理及其他相關專業本科生的計算物理課程教材或參考書,也可供研究生及相關科研人員參考使用。
前言
第1章 緒論
1.1 計算物理學的起源和發展
1.2 誤差分析
1.2.1 基本定義
1.2.2 誤差來源
1.2.3 數值運算誤差
1.3 數值計算應注意的問題
1.3.1 避免相近二數相減
1.3.2 防止大數吃掉小數
l.3.3 避免小分母溢出
1.3.4 減少運算次數
1.3.5 正負交替級數累和計算中的問題
1.4 計算機編程語言簡介
1.4.1 FORTRAN語言
1.4.2 MATLAB軟件
習題
第2章 方程的數值解法
2.1 線性代數方程組的數值解法
2.1.1 高斯消去法
2.1.2 LU分解法
2.1.3 三對角矩陣追趕法
2.1.4 迭代法
2.2 非線性方程的數值解法
2.2.1 二分法
2.2.2 弦截法
2.2.3 不動點迭代法
2.2.4 牛頓迭代法
2.2.5 非線性方程組的數值解法
2.2.6 矛盾方程組的數值解法
習題
第3章 函數近似方法
3.1 插值法
3.1.1 圖形插值法
3.1.2 兩點一次插值(線性插值)
3.1.3 兩點二次插值(兩點拋物線插值)
3.1.4 三點二次插值(三點拋物線插值)
3.1.5 n+1點n次插值(n次拉格朗日插值多項式)
3.1.6 三次樣條插值
3.2 擬合法
3.2.1 擬合的定義
3.2.2 直線擬合(一元線性回歸)
3.2.3 m次多項式擬合
習題
第4章 數值微分和積分
4.1 數值微分
4.2 數值積分
4.2.1 牛頓一科茨求積公式
4.2.2 復化求積公式
4.2.3 變步長求積公式和龍貝格求積公式
4.2.4 反常積分的計算
4.2.5 快速振蕩函數的Filon積分
習題
第5章 常微分方程的數值方法
5.1 微分方程數值方法的有關概念
5.2 初值問題的數值方法
5.2.1 Euler法
5.2.2 Runge?Kutta方法
5.2.3 微分方程組與高階微分方程
5.2.4 初值問題的差分方法
5.2.5 剛性微分方程
5.3 邊值問題的數值解法
5.3.1 邊值問題的差分方法
5.3.2 邊值問題的打靶法
5.4 微分方程數值方法的軟件實現
5.4.1 MATLAB解微分方程
5.4.2 IMSL程序庫解微分方程
習題
第6章 偏微分方程的數值方法
6.1 對流方程
6.2 拋物形方程
6.3 橢圓方程
6.4 非線性偏微分方程
6.4.1 Burge方程
6.4.2 Kdv方程和孤立子的數值模擬
6.4.3 渦流問題
6.4.4 淺水波方程的數值解法
6.4.5 流體方程數值解法
6.4.6 黏滯不可壓縮流體
6.4.7 軸對稱系統偏微分方程的數值解法
6.5 偏微分方程數值解的傅里葉變換方法
習題
第7章 蒙特卡羅方法
7.1 蒙特卡羅方法的基礎知識
7.1.1 基本概念
7.1.2 隨機變量及其分布函數
7.1.3 大數定理和中心極限定理
7.2 隨機數和隨機抽樣
7.2.1 均勻分布隨機數的產生
7.2.2 隨機性統計檢驗
7.2.3 隨機抽樣
7.2.4 蒙特卡羅方法求解物理問題的基本思想和基本步驟
7.3 蒙特卡羅方法的應用
7.3.1 方程求根的蒙特卡羅方法
7.3.2 計算定積分的蒙特卡羅方法
7.3.3 蒙特卡羅方法求解拉普拉斯方程
7.3.4 核鏈式反應的模擬
7.3.5 關于中子貫穿概率問題
7.3.6 其他例子
習題
第8章 分子動力學方法
8.1 引言
8.2 分子動力學基礎
8.2.1 相互作用勢和運動方程
8.2.2 邊界條件
8.2.3 初始態
8.2.4 積分算法
8.2.5 宏觀量
8.3 氬原子體系的分子動力學模擬
8.3.1 最簡單的分子動力學模擬程序
8.3.2 模擬程序的改進
8.3.3 提高模擬程序的效率
8.3.4 物理觀測量
習題
第9章 有限單元法
9.1 微分方程求解的加權余量方法
9.1.1 加權余量法
9.1.2 加權余量法的弱形式
9.1.3 分段連續試探解
9.1.4 伽遼金有限元方法
9.1.5 變分方法
9.2 一維有限元方法應用和編程舉例
9.2.1 總的程序結構
9.2.2 輸入數據
9.3 二維拉普拉斯和泊松方程的有限元方法
9.3.1 基本方程
9.3.2 三角單元和線性型函數
9.3.3 軸對稱有限單元方法舉例
9.4 拋物型偏微分方程的有限元方法
習題
參考文獻
7.2 隨機數和隨機抽樣
用蒙特卡羅方法在計算機上模擬一個隨機過程,就是要產生滿足這個隨機過程概率分布的隨機變量。最簡單和最基本的隨機變量就是(0,1)區間上均勻分布的隨機變量,這些隨機變量的抽樣值稱為隨機數。所以以后談到隨機數,如果不加特別說明,就是指(0,1)區間上均勻分布的隨機數。其他分布的隨機變量的抽樣值可借助均勻分布的隨機數得到。
擲骰子會產生1~6范圍內的隨機整數;抽獎用的搖號碼機則可產生0~9范圍內的隨機整數。這些真正的隨機數除統計規律外無任何其他規律可循。在科學計算中通常按照某種算法給出隨機數,稱為偽隨機數,或稱贗隨機數。偽隨機數具有兩個主要特性:一個是偽隨機數具有一定的周期,設其周期為n。通常要求產生隨機數的周期n足夠大,以使其在整個使用過程中不表現出其周期性。例如,計算機中的偽隨機數發生器要求其周期大于計算機的記憶單元數;偽隨機數的統計性質是表征隨機數品質的另一重要指標。對均勻分布的隨機數,既要求隨機數產生的隨機性,又要求產生的隨機數分布的均勻性。