計算化學
計算機科學與化學的交叉學科
計算化學(computational chemistry)是理論化學的一個分支。計算化學的主要目標是利用有效的數學近似以及電腦程序計算分子的性質(例如總能量,偶極矩,四極矩,振動頻率,反應活性等)並用以解釋一些具體的化學問題。計算化學這個名詞有時也用來表示計算機科學與化學的交叉學科。
隨著化工設備和工藝對自動化的要求越來越高,而且許多化工過程,人工進行控制相當困難,需要可靠的控制技術系統。因此計算機應用於大型工藝調和的中央控制系統。計算機模擬技術從根本上改變了化學實驗技術。
計算機與化學結合是化學發展的必然趨勢,它為化學學科的發展、實驗測試技術以及數據處理等開闢了一個嶄新的方向。與“計算化學”同時發展的,同樣是化學、數學、計算機科學交叉的新興的化學學科分支的,還有“計算機化學(computer chemistry)”、“化學計量學(chemometries)”和“化學信息學(chemiealinformatics)”。對比這四門交叉學科,“計算化學”更偏重於計算方面,它是以數值計算為基礎的。“計算機化學”是用計算機研究化學反應和物質變化規律,實現化學知識創新的科學。以計算機及其網路系統為工具,建立由化學化工信息發現新知識和實現知識傳播的理論和方法,認識物質、改造物質、創造新物質和認識反應、控制反應過程和創造新反應、新過程是計算機化學研究的主體。化學數據挖掘和知識發現、計算機輔助結構解析、分子設計和合成路線設計等是當前計算機化學的主要研究方向。“化學計量學”是運用數學、統計學、計算機科學以及其他相關學科的理論與方法,優化化學量測過程,並從化學量測數據中最大限度地提取有用的化學信息,它以化學量測為基點,實質上是化學量測的基礎理論與方法。“化學信息學”的研究的基礎內容主要包括:化學、化工文獻學;化學知識體系的計算機表示、管理與網路傳輸;化學圖形學;化學知識的計算機推演;化學教育與教學的現代技術與遠程信息資源。
目前,計算機在化學中的應用,涵蓋了以上四門學科分支所研究的主要內容。歸納起來主要分為兩個方面:數值計算方面和非數值計算方面。
1.數值計算:用高級語言及其編程技術,解決化學中的數值計算問題。
它是將數學的計算方法具體地應用於化學過程中,通常是研究化學中一些常用的、共同的、較為常用的計算方法,是計算化學的核心。比如實驗數據的內插,函數擬合,線性方程組求解,高階方程組求解,解微分方程組,求本徵值與本徵向量等,它們均與化學中量子化學、分析化學、化學平衡、化學動力學及實驗數據處理等密切相關。2.非數值計算:包括(1)字元處理;(2)化學文獻的存儲與檢索;(3)化學資料庫:如元素、化合物的結構和物理化學性質,有機分析試劑的結構、合成路線和分析性質,物質的各種儀器分析方法的譜圖、晶體結構資料庫,以及各學科試題等大型資料庫的建立及檢索等;
①原子和分子的計算機表述
②利用計算機協助存儲和搜索化學信息數據(參見化學資料庫)
③研究化學結構與性質之間的關係(參見定量構效關係(QSAR)及定量構性關係(QSPR))
④根據對作用力模擬對化學結構進行理論闡釋
⑤計算機輔助化合物合成
⑥計算機輔助特性分子設計(例如計算機輔助藥物設計)
計算化學其實是一門有著悠久歷史的研究領域,自一九二零年代量子力學理論建立以來,許多科學家曾嘗試以各種數值計算方法來深入了解原子與分子之各種化學性質。然而在數值計算機廣泛使用之前,此類的計算由於其複雜性而只能應用在簡單的系統與高度簡化的理論模型之中。在十多年前,計算化學仍是一門須具有高度量子力學與數值分析素養的人從事的研究,而且由於其龐大的計算量,絕大部分的計算工作需依靠昂貴的大型計算機主機或高階工作站來進行。
計算化學的普及
然而,此情況在九十年代中期開始有了重大的改變。由於使用在個人計算機上的處理器(Pentium, Pentium Pro)以及外圍設備(如高速內存及硬碟)的大幅進步,個人計算機的運算速度已經直逼一些傳統的工作站;再加上個人計算機系統無需負擔傳統多人多任務系統中複雜的作業,使得個人計算機逐漸開始成為從事量子化學計算的一種經濟而有效率的工具。然而,早期為個人計算機操作系統所發展的計算化學軟體非常有限,因為數十年來大部分的科學應用軟體都是在Unix操作系統下所開發出來的,但當時在個人計算機上的Unix操作系統都非常昂貴且不易安裝與使用。就在此時,逐漸成熟的Linux操作系統開始被廣泛的使用在個人計算機之上。Linux 是由一位芬蘭人Torvald Linus所開發出來的在個人計算機上執行的Unix操作系統。在經過數年全世界無數人的協助發展下,在九十年代末期Linux已成為一功能齊全的網路多人多任務操作系統。Linux最吸引人 的地方在其穩定性且不需要昂貴的計算機配備,而且更重要的是它基本上是免費的。比 如說,大家對目前普遍使用的操作系統當機的情況並不陌生,但Linux工作站通常可以正常運作幾個月而不出現任何問題;此外,一般個人計算機上使用的操作系統、網路、網頁、郵件、檔案、X-Window等伺服器軟體動輒需要上萬元,但這些在Linux操作系統中幾乎都可免費取得。因此,搭配Linux操作系統的個人計算機現在已成為量子化學計算的一種很好的選擇。當然,如本刊中另一篇文章所介紹的,近幾年來許多可在Windows操作系 統下運作的計算化學軟體也陸續出現,功能也不斷的增強,使得個人計算機成為當今計 算化學領域中非常重要的工具。
計算化學普及的另外一個原因是圖形介面的發展與使用。傳統上計算工作的輸入與輸出都是以文字方式來表示,不但輸入耗時易錯,許多計算結果的解讀也非常不易。近年來圖形介面的使用大大的簡化了這些過程,使得稍具計算化學知識的人都能夠輕易的設計複雜的理論計算,並且能夠以簡單直接的視覺效果來分析計算所得的結果。現在的研究生可能很難想象以往我們成天坐在文字終端機前一個一個字的將大分子的Z-matrix敲入 的生活。
第一原理方法(Ab initio methods),也稱為從頭算方法,常指基於量子力學理論的,完全由理論推導而得,不使用基本物理常數和原子量以外的實驗數據、以及經驗或者半經驗參數的求解薛定諤方程的方法。大多數情況下這些第一原理方法包括一定的近似,而這些近似常由基本數學推導產生,例如換用更簡單的函數形式或採用近似的積分方法。
大多數第一原理方法使用波恩-奧本海默近似,將電子運動和原子核運動分離以簡化薛定諤方程。計算經常分兩個步驟進行:
電子結構計算
化學動力學計算
電子結構
電子結構可以通過求解定態薛定諤方程(也成為不含時薛定諤方程)得到。求解過程常使用原子軌道線性組合 (LCAO)得到的基組來進行近似。通過這種近似,薛定諤方程可以轉化為一個"簡單"的電子哈密頓量的本徵值方程。該方程的解為離散集。解得的本徵值是分子結構的函數。這種對應關係稱為勢能面。
Hartree-Fock是最常見的一種第一原理電子結構計算。在Hartree-Fock近似中,每個電子在其餘電子的平均勢中運動,但是不知道這些電子的位置。當電子離得很近時,即使是用平均方法考慮電子間的庫侖相互作用,電子也不能相互避開,因此在Hartree-Fock中高估了電子排斥。Hartree-Fock方程需採用變分法求解,所得的近似能量永遠等於或高於真實能量,隨著基函數的增加,Hartree-Fock能量無限趨近於Hartree-Fock極限能。
很多方法先進行Hartree-Fock計算,隨後對電子的瞬時相關對此進行修正。相應能量的降低稱為電子相關能。這些方法稱為後Hartree-Fock方法,包括多體微擾理論、耦合簇理論 (Coupled Cluster) 等。
量子蒙特卡羅 (QMC) 是另外一種解決電子相關問題的方法。在量子蒙特卡羅中,體系的基態波函數顯式地寫成關聯的波函數,也就是說波函數是電子--電子之間距離的顯式函數。量子蒙特卡羅採用蒙特卡羅方法對積分進行數值解析。量子蒙特卡羅計算非常耗時,但卻可能是目前精確度最高的第一原理方法。
密度泛函理論 (DFT) 的許多常用泛函均包含由實驗數據擬合而來的參數。但在解決分子的電子結構問題時也常將密度泛函理論被當做第一原理方法。密度泛函理論使用電子密度而不是波函數來表述體系能量。在DFT計算中,哈密頓量的一項,交換-相關泛函,採用近似形式。
當採取的近似足夠小的時候,第一原理電子結構方法的結果可以無限趨近準確值。但是,與真實值的偏差往往並不隨近似的減少而單調遞減,有時最簡單的計算反而會有更準確的結果。第一原理計算的主要缺點是運算量巨大,往往需要大量的計算時間、內存和磁碟空間。HF方法的計算量隨體系的增大以 增長(N 是基函數的數目)–計算兩倍大的體系需要16倍的時間–電子相關方法的增長速度更快(DFT計算大約以 增長,相比之下是效率最高的電子相關方法)。
緒論
0.1 什麼是計算化學
0.2 計算機在化學中的應用及其發展
0.3 計算化學的研究內容和方法
上篇:化學中常用的數值計算方法
第一章 代數方程及代數方程組的求解
1.1 一元N次(N>2)非線性方程的求解
1.1.1 二分法
1.1.1.1 方法原理
1.1.1.2 程序框圖及源程序
1.1.1.3 應用示例
1.1.2 牛頓一拉弗森迭代法
1.1.2.1 方法原理
1.1.2.2 程序框圖及源程序
1.1.2.3 應用示例
1.2 解線性方程組的方法
1.2.1 選主元的高斯消去法
1.2.1.1 方法原理
1.2.1.2 程序框圖及源程序
1.2.1.3 應用示例
1.2.2 高斯-賽德爾迭代法
1.2.2.1 方法原理
1.2.2.2 程序框圖及源程序
1.2.2.3 應用示例
習題
第二章 實驗數據的處理及模型參數的確定
2.1 插值法
2.1.1 線性插值
2.1.1.1 方法原理
2.1.1.2 程序框圖及源程序
2.1.1.3 應用示例
2.1.2 拉格朗日插值多項式
2.1.2.1 一元拉格朗日插值
2.1.2.2 一元三點拉格朗日插值
2.2 回歸分析和曲線擬合
2.2.1 一元線性回歸分析
2.2.1.1 方法原理
2.2.1.2 程序框圖及源程序
2.2.1.3 線性模型的推廣
2.2.1.4 應用示例
2.2.2 多元線性回歸
2.2.2.1 方法原理
2.2.2.2 可化為多元回歸的問題
2.2.2.3 程序框圖及源程序
2.2.2.4 應用示例
2.2.3 多項式擬合簡介
2.2.3.1 方法原理
2.2.3.2 源程序
2.2.3.3 應用示例
2.3 數值微分
2.3.1 方法原理
2.3.2 程序框圖及源程序
2.3.3 應用示例
習題
第三章 數值積分與常微分方程的數值解法
3.1 數值積分
3.1.1 梯形法原理簡介
3.1.2 辛普森法
3.1.2.1 方法原理
3.1.2.2 程序框圖及源程序
3.1.2.3 應用示例
3.1.3 離散點數據的求積
3.1.3.1 方法原理
3.1.3.2 程序框圖及源程序
3.1.3.3 應用示例
3.2 常微分方程的數值解法
3.2.1 歐拉法及其改進
3.2.1.1 方法原理
3.2.1.2 程序框圖及源程序
3.2.1.3 應用示例
3.2.2 龍格-庫塔法解常微分方程及一階常微分方程組
3.2.2.1 方法原理
3.2.2.2 程序框圖及源程序
3.2.2.3 應用示例
習題
第四章 本徵值和本徵向量
4.1 本徵值和本徵向量的數值解法
4.1.1 行列式求值法
4.1.2 求實對稱矩陣本徵值問題的雅可比方法
4.1.2.1 方法原理
4.1.2.2 源程序
4.2 應用示例
4.2.1 休克爾分子軌道理論(HM0)
4.2.2 質子NMR譜的模擬
習題
第五章 化學化工中的常用軟體和網路資源
5.1 化學中常用的軟體簡介
5.1.1 化學結構式與分子圖形編輯軟體
5.1.1.1 ChemWindow軟體使用簡介
5.1.1.2 CS ChemC)ffice軟體使用簡介
5.1.2 數據處理軟體
5.1.2.1 Origin 7.0版本的特點
5.1.2.2 Origin 7.0工作環境
5.1.2.3 0rigin 7.0應用實例
5.1.3 文獻管理軟體
5.1.4 圖譜解析軟體
5.1.5 計算機輔助教學軟體
5.1.6 量子化學計算軟體
5.1.7 分子模擬計算軟體
5.2 Internet網路上的化學化工資源
5.2.1 Internet概述
5.2.2 Internet資源指南
5.2.3 化學化王文獻聯機檢索
5.2.4 網上的圖書、期刊、研究報告
5.2.5 網上專利、技術標準
5.2.6 網上資料庫
5.2.7 其他
習題
第六章 最優化方法在化學化工中的應用簡介
6.1 最優化方法基本原理
6.1.1 最優化與化學的關係
6.1.2 多元函數的一維尋查方法
6.2 單純形法及其在化學中的應用
6.2.1 方法原理
6.2.2 應用示例
6.2.2.1 釩點滴試驗最佳條件的搜索
6.2.2.2 石油裂解的最佳產值條件的優化
6.2.2.3 色譜分離的順序優化
6.3 化工調優操作及其應用
6.3.1 調優操作
6.3.2 統計調優法
6.3.2.1 方法步驟
6.3.2.2 應用示例
6.3.3 模擬調優法
6.3.3.1 方法步驟
6.3.3.2 應用示例
習題
第七章 化學化工過程計算機模擬簡介
7.1 化學中計算機模擬方法簡介
7.1.1 蒙特卡羅方法簡介
7.1.1.1 基本原理
7.1.1.2 應用示例
7.1.2 分子動力學模擬方法簡介
7.2 化工過程模擬簡介
7.2.1 化王流程穩態模擬
7.2.2 化王流程動態模擬
7.3 化學過程計算機模擬應用實例
7.3.1 二組元理想液態混合物氣-液相平衡相圖的計算機模擬
7.3.1.1 計算原理
7.3.1.2 計算實例
7.3.2 二組元非理想液態混合物氣-液相平衡相圖的計算機模擬
7.3.2.1 二組元非理想液態混合物各組分活度係數的計算
7.3.2.2 具有較大偏差的二元系統恆沸狀態的判據及其參數計算
7.3.3 複雜反應動力學的計算及過程的計算機模擬
7.3.3.1 平行反應動力學的計算機模擬
7.3.3.2 連續反應動力學的計算機模擬
7.3.3.3 對峙放熱反應的最適宜溫度的計算
7.3.4 氣相色譜儀及其實驗過程的模擬
7.3.4.1 計算模型
7.3.4.2 模擬流程和程序框圖
7.3.4.3 計算實例和結果分析
習題
第八章 無機化學計算實例
8.1 溶液濃度的計算
8.2 由元素分析而得的所有經驗式推導
8.3 由元素分析而得的合理經驗式推導
8.4 二元化合物的經驗式的推導
8.5 無機定性分析步驟的模擬
8.6 稀溶液依數性的計算
8.7 用元素分析法確定有機混合物的組成
第九章 分析化學計算實例
9.1 滴定曲線分析
9.2 氧化還原滴定曲線的計算
9.3 弱破及其相應共軛鹼鈉鹽的水溶液平衡
9.4 質譜法測定混合物系統中各組分的含量
9.5 ABC分子體系NMR圖譜的模擬
第十章 有機化學計算實例
10.1 關於有機合成路線的探索
10.2 尋找最佳有機合成路線
10.3 有機物質精餾的計算
10.4 硝酸鈾醯和硝酸在水相和TBP-煤油間的分配平衡的計算
第十一章 物理化學計算實例
11.1 范德瓦耳斯狀態方程計算實際氣體摩爾體積
11.2 純氣體逸度的計算
11.3 基爾霍夫定律的應用——指定溫度下化學反應焓的計算
11.4 燃燒焓測定的實驗數據處理
11.5 物質絕熱燃燒反應最高火焰溫度的計算
11.6 物質標準熵(量熱熵)的計算
11.7 多組元系統中某組元偏摩爾體積的計算
11.8 單原子和雙原子光譜熵的計算
11.9 物質標準摩爾自由能函數和焓函數的計算
11.10 純物質兩相平衡時克拉貝龍-克勞修斯方程式的應用
11.11 二組元氣-液平衡實驗數據的擬合與相圖模擬
11.12 二元理想液態混合物泡點溫度的計算
11.13 求化學平衡與相平衡體系申的獨立組分數和獨立方程
11.14 化學反應平衡常數計算
11.15 微分法確定化學反應的動力學方程式
11.16 積分法確定化學反應的動力學方程式
11.17 半衰期法確定化學反應的動力學方程式
11.18 多相催化反應動力學參數的確定
11.19 苯的熱裂解脫氫反應的動力學
11.20 一級反應的蒙特卡羅法模擬
11.21 強電解質溶液無限稀釋摩爾電導率的計算
11.22 強電解質水溶液離子平均活度係數的計算
11.23 原電池熱力學計算
11.24 固體對氣體的等溫吸附方程計算
11.25 固體對氣體的等溫吸附方程及催化劑比表面積的計算
11.26 最優化方法確定等溫吸附方程式中的參數
第十二章 結構化學計算實例
12.1 電子云空間分佈的描繪
12.2 類氫原子軌道徑向分佈函數曲線的模擬
12.3 分子結構-性能的多元線性回歸分析
12.4 一維有限勢箱中粒子的能級和波函數計算
附錄
附錄1 常用的計算化學期刊、文獻及網址
附錄2 演演算法和計算機語言簡介
附錄3 數值計算誤差簡介
附錄4 構造演演算法與編程中應注意的幾個問題
附錄5 算例索引
附錄6 子程序索引
附錄7 部分源程序(Object Pascal)
參考文獻
簡介:《計算化學》是化學、數學學科中的數值計算方法和計算機編程等多學科知識相結合的一門綜合性新課程。它運用數學、統計學與計算機科學的方法,進行化學化工的試驗設計、數據與信息處理、分類、解析和預測。教材的內容分為上、下篇。上篇以化學化工中常用的數值計算方法及計算機在化學中的應用為主線,內容包括:代數方程及代數方程組的求解、插值法和回歸分析——實驗數據的擬合及模型參數的確定、數值積分與常微分方程的數值解法、本徵值和本徵向量、判別分析與因子分析在化學中的應用、化學化工中常用的軟體及網路資源簡介、化學化工中的最優化方法簡介、化學化工過程計算機模擬簡介及計算機在化學化工中的其他應用簡介。下篇以化學學科分類為主線,介紹了計算機在化學化工中的應用實例。教材將化學問題數學模型的建立、數值計算方法的選擇和計算機程序的編製融為一體,旨在使學生通過教材,掌握化學中常用的數值計算方法,了解計算機在化學化工中的應用,並能利用計算方法來解決化學中的實際問題,從而培養學生的創新思維和創新能力。教材由文字版和光碟組成,適用於應用化學、化學工程與工藝、製藥工程、高分子材料、冶金工程、無機非金屬材料、環境工程等專業本科學生使用,也適用於對計算化學有興趣的化學化工專業技術人員和青年教師參考。
目錄
第1章 緒論 1
1.1 微機在化學中的應用 1
1.2 計算機解題一般步驟 1
1.3 計算機語言和源程序 2
1.4 演演算法簡介 2
1.5 數值計算誤差簡介 2
第2章 代數方程求根 4
2.1 引言 4
2.2 多項式的求值 5
2.3 二分法 9
2.4 迭代法 13
2.5 迭代過程的加速 17
2.6 牛頓法 21
2.7 弦截法 26
2.8 多項式方程求全部根 28
2.9 多元弱酸緩衝溶液的pH值和各組分濃度的確定 33
習題 41
第3章 函數插值 43
3.1 引言 43
3.2 線性插值 43
3.3 拉格郎日三點插值 47
3.4 拉格郎日n點插值 52
3.5 插值余項 57
3.6 埃特金插值 60
習題 65
第4章 數值積分 67
4.1 引言 67
4.2 梯形法求積 68
4.3 辛普生求積 72
4.4 求積公式的誤差 79
4.5 離散點數據的求積 80
4.6 龍貝格求積 88
4.7 辛普生方法求二重積分 92
習題 94
第5章 常微分方程的數值解 97
5.1 引言 97
5.2 歐拉法及改進 98
5.3 龍格-庫塔法 102
5.4 積分步長的自動選取 108
5.5 一階常微分方程組 110
5.6 高階常微分方程的解 117
習題 120
第6章 線性方程組的解法 122
6.1 引言 122
6.2高斯消去法123
6.3 迭代法 127
6.4 逆矩陣法求解線性方程組 142
6.5 三對角線性方程組的追趕解法 145
6.6 矩陣分解法求線性方程組 149
習題 162
第7章 非線性方程組的解法 164
7.1 引言 164
7.2 迭代法 164
7.3 牛頓-雷扶生法 172
7.4 最速下降法 182
7.5 非線性函數參數的擬合 185
習題 191
第8章 回歸分析 194
8.1 引言 194
8.2 一元線性回歸 195
8.3 加權回歸 209
8.4 一元非線性回歸 214
8.5 多元線性回歸 221
8.6 數據的標準化 228
8.7 多元線性回歸數據的標準化處理 230
8.8 多元線性回歸的顯著性檢驗 235
8.9 最優回歸方程的選擇 241
8.10 可化為多元線性回歸的問題 243
8.11 多項式回歸 247
習題 253
附表 255
第9章 蒙特卡羅方法 256
9.1 引言 256
9.2 蒙特卡羅方法的基本原理 256
9.3 MC方法應用實例 258
9.4 隨機數與偽隨機數 262
9.5 MC方法計算積分 267
9.6 MC方法的綜合應用 275
習題 285
第10章 多元統計校正理論 286
10.1 化學量測數據的矩陣表示 286
10.2 多元線性回歸校正 288
10.3 主成分回歸 297
10.4 偏最小二乘法 306
第11章 正交試驗法 315
11.1 引言 315
11.2 正交試驗法的基礎知識 316
11.3 正交試驗結果的方差分析 327
11.4 考慮交互作用的正交試驗 331
11.5 有混合水平的正交試驗 340
11.6 正交試驗結果的靈活處理 348
11.7 正交試驗法的綜合應用舉例 357
11.8 正交試驗的計算程序 361