索引 / 001 ZH-TW
Computational Physics(計算物理學) cover

物理學

物理學

Computational Physics(計算物理學)

Jos Thijssen

英文原名: Computational Physics

一本研究所程度的教科書,介紹物理研究中使用的計算方法,著重凝體物理與物理化學。作者除了說明演算法,也解釋各方法背後的物理,內容涵蓋電子結構計算、分子動力學、蒙地卡羅模擬、量子蒙地卡羅與晶格場論,並在內文中介紹配套程式。

需要的基礎: 具備基本程式設計與數值分析能力,並修過大學部量子力學、統計物理與凝體理論。

難度等級
高級
學術層次
研究所
computational physicsnumerical methodsmonte carlomolecular dynamicselectronic structure教科書

01 / 導讀

導讀

引用

Thijssen, J. (2007). Computational Physics (2nd ed.). Cambridge University Press.

章節概要

第二版共十六章和兩個附錄,全書超過600頁。每章末尾都有參考文獻,除第16章外各章還有習題。作者的兩篇前言把本書描述為一部以凝聚態為重點的理論物理研究所用計算方法的書,關心的是方法如何起作用、為什麼起作用、涉及哪些近似,並逐步展示演算法的實現。

第1章:引言

以鳥瞰的方式概覽物理學各領域及其適用的計算方法。從牛頓方程和杜芬振子(展示對初始條件的敏感性)等例子講起,然後涉及多體問題與分子動力學、隨機模擬與蒙特卡羅方法(以擴散限制聚集為例)、偏微分方程、量子力學、量子力學與經典統計物理的聯絡、量子分子動力學以及量子場論。作者說明,這裡的順序與後面各章的順序不同。

第2–3章:球對稱勢的量子散射;薛定諤方程的變分法

第2章把球對稱勢的散射當作可以化為常微分方程的問題處理,並給出計算截面的程式。第3章介紹變分法、具體算例、廣義本徵值問題以及微擾論與變分法的關係。

第4–5章:哈特里–福克方法;密度泛函理論

第4章從玻恩–奧本海默近似出發,經過氦原子、多電子系統與斯萊特行列式,到哈特里–福克理論、基函式、哈特里–福克程式的結構以及含高斯函式的積分,逐步建立獨立粒子影像。第5章介紹採用局域密度近似的密度泛函理論、對交換與相關的進一步考察、超越DFT的激發,以及氦原子的密度泛函程式。

第6章:週期固體中薛定諤方程的求解

講述基於布洛赫定理的能帶理論和主要的能帶計算方法:增廣平面波法、線性化APW法和贗勢方法(最長的一節),以及如何從結果中提取資訊。

第7–9章:經典平衡統計力學;分子動力學模擬;量子分子動力學

第7章給出統計力學背景、模型與相變。第8章從恆能分子動力學和氬的程式出發,經過辛積分器、其他系綜、分子體系、長程相互作用、朗之萬動力學,直到非平衡方法。第9章是它的量子版本,包括氫分子的例子、正交歸一化與共軛梯度技術,以及用於贗勢密度泛函理論的卡–帕裡涅羅技術。

第10–12章:蒙特卡羅方法;轉移矩陣與自旋鏈的對角化;量子蒙特卡羅方法

第10章講蒙特卡羅積分、通過馬爾可夫鏈的重要性抽樣、其他系綜、自由能的估計以及有限系統的溫度。第11章講伊辛模型及其他自旋模型的轉移矩陣、量子鏈的精確對角化、實空間重整化和密度矩陣重整化群。第12章講變分、擴散、路徑積分和格點量子蒙特卡羅,以及蒙特卡羅轉移矩陣方法。

第13–14章:偏微分方程的有限元方法;流體動力學的格子玻爾茲曼方法

這是第二版新增的兩章。第13章把有限元應用於泊松方程和線彈性問題,並討論誤差估計、區域性加密、動力學以及與分子動力學的耦合。第14章推導納維–斯托克斯方程和格子玻爾茲曼模型,並說明前者如何由後者得出。

第15–16章:格點場論的計算方法;高效能運算與並行

最長的第15章講量子場論與重整化、格點場論的演算法、臨界慢化和規範場論。第16章講流水線、並行以及分子動力學的並行演算法。

附錄A–B:數值方法;隨機數發生器

附錄A彙集數值方法:特殊函式、求根、最佳化、離散化、數值積分、微分方程、線性代數和快速傅立葉變換。附錄B講偽隨機數發生器與非均勻隨機數。

核心概念

電子結構(第2–6章)

  • 變分原理:通過最小化能量泛函來近似基態。
  • 哈特里–福克與密度泛函理論:把多電子問題化為有效單粒子方程的兩種方式。
  • 能帶計算方法:用於晶體中電子的APW、LAPW和贗勢。

經典系統模擬(第7–10章)

  • 分子動力學:通過積分運動方程來追蹤粒子,涉及辛積分器和不同的系綜。
  • 蒙特卡羅與馬爾可夫鏈:用重要性抽樣來取得構型。
  • 相變:許多模型與模擬所針對的物理現象。

量子多體方法(第9、11–12章)

  • 卡–帕裡涅羅動力學:把分子動力學與電子結構計算結合起來。
  • 密度矩陣重整化群:用於一維量子鏈的方法。
  • 量子蒙特卡羅:變分、擴散、路徑積分和格點等形式。

場、流體與計算(第13–16章)

  • 有限元與格子玻爾茲曼:處理偏微分方程和流體流動的方法。
  • 格點場論:離散化的量子場論及其演算法和臨界慢化。
  • 並行:在模擬中使用流水線和並行機器。

評析

優點

  • 重方法而非結果。 第一版前言(在本版中保留)說明,重點在於演算法的推導與實現以及所作的近似,而不是結果的彙編。
  • 領域之間的聯絡。 出版社說,本書強調不同物理領域所用方法之間的關係,結構上也有所體現:分子動力學(第8章)通向量子分子動力學(第9章),蒙特卡羅(第10章)通向量子蒙特卡羅(第12章),統計力學一章中的伊辛模型又在轉移矩陣一章中再次出現。
  • 對要程式設計的讀者的幫助。 前言提到實現是一步步討論的,附有檢驗程式的建議、標有 [C] 的計算機習題以及可下載的程式。涉及高深內容和冗長推導的小節標有星號,初讀時可以跳過。
  • 第二版的擴充。 關於有限元和格子玻爾茲曼的新章,以及密度泛函理論、量子分子動力學、蒙特卡羅和一維量子系統對角化中的新小節,擴大了覆蓋範圍。

局限

  • 先修要求高。 出版社說,讀者需要具備初級程式設計、數值分析和場論知識,以及本科層次的凝聚態理論和統計物理。
  • 有意取捨。 作者說各個話題並沒有被全面處理,許多重要話題未涉及,這反映的是他自己的專長與興趣;重點在凝聚態物理與物理化學。
  • 不是程式設計教程。 第一版前言期望讀者已有計算方面的基礎,附錄A對數值方法的處理也很簡略,因此數值計算的初學者還需要另外的書。
  • 篇幅與廣度。 十六章從散射一直到格點規範理論,不可能放進一門課程。

在課程中的定位

本書是計算物理課程中面向研究的教材。Newman 的 Computational Physics 與 Landau、Páez、Bordeianu 的 Computational Physics: Problem Solving with Python 是內容廣泛的入門課程,通過具體的物理問題用Python講授數值方法;Kinder 與 Nelson 的 A Student's Guide to Python for Physical Modeling 是學習程式設計本身的簡短實用起點。Press 等人的 Numerical Recipes 是許多例程背後的數值演算法的參考書,可以補充 Thijssen 的附錄A。Taylor 的 An Introduction to Error Analysis 講的是實驗測量的不確定度,屬於另一個主題。Thijssen 從入門書結束的地方開始,涉及電子結構、多體模擬和場論,並以那些書所教的技能為前提。

如何使用本書

適合在學過量子力學、統計物理和凝聚態物理,並具備一定程式設計與數值分析基礎之後閱讀。第1章對任何人都是很好的第一讀:它勾勒出全書的地圖,並展示各種方法之間的關係。

實用的閱讀安排如下:

  • 分子動力學與蒙特卡羅: 第7、8、10章,加上講隨機數的附錄B,構成通向經典模擬的一條連貫路徑。
  • 電子結構: 依次讀第3–6章和第9章,可以從變分法一路讀到哈特里–福克、密度泛函理論、能帶結構和卡–帕裡涅羅動力學。
  • 量子多體方法: 第11章和第12章,以第10章為背景。
  • 可選模組: 第13–16章可按興趣選擇(有限元、格子玻爾茲曼、格點場論、平行計算)。

初讀時跳過帶星號的小節,把正文所述的程式自己寫出來,並在相信結果之前使用書中給出的檢驗辦法。習題中也有不用計算機的,兩類可以搭配著做。