第2 版前言
根據本書第1 版多年來在清華大學和兄弟院校中的使用情況,並結合作者近年來的教學和科研實踐,第2 版在第1 版的基礎上做了較大幅度的修訂,主要體現在:
1. 在2.6 節中補充了稀疏矩陣的行壓縮存儲格式,簡要介紹了高性能大規模稀疏對稱和非對稱線性方程組求解器PARDISO,並刪除了活動列求解器COLSOL 的原始碼(共2頁),讀者可從本教材的網站下載。
2. 進一步改寫了STAP90 程式,增加了記憶體管理模組memAllocate,顯著地提高了STAP90 程式的易讀性,並重寫了2.6.5 節。
3. 在1.4 節中補充了拉格朗日乘子法的可解性條件、閉鎖問題和疊代解法的內容,並增加了Nitsche 法。Nitsche 法結合了拉格朗日乘子法和罰函式的優點,在發展新型數值方法中受到了關注。
4. 為了節約篇幅,從第3 章中刪除了求解大型系統特徵值問題的子程式JACOBI90、SSPACE90 和LANCZOS90 的原始碼(共34 頁),讀者可從本教材的網站上下載。
5. 時域分析需要求解關於時間的二階常微分方程組,對於複雜結構問題計算量很大,且不便於分析結構在地震、風和海浪等隨機載荷作用下的回響問題。另外,許多工程問題更關心結構的最大回響,而不是其時間歷程。因此第2 版增加了結構動力學問題的頻域分析方法(第6 章),包括頻響函式與快速傅立葉變換、回響譜分析方法及其套用和隨機振動數值分析初步。
6. 對計算衝擊動力學部分進行了大幅度修改和擴充,增加了爆炸模擬中常用的歐拉描述的控制方程(含非守恆形式和守恆形式),擴展了應力率內容並給出了其Lie 導數解釋,補充了接觸算法的增廣拉格朗日子乘子法,擴充了接觸面搜尋算法。另外,為了公式表達簡潔,除了指標記號外,還補充了部分常用公式的張量實體表達形式。
7. 將材料模型作為單獨一章並進行了大幅度擴充,詳細講述了亞彈性模型和亞彈性-塑性模型的本構積分算法 返回映射法,並給出了線性亞彈性、理想彈塑性、各向同性硬化彈塑性、Johnson-Cook 塑性和Drucker-Prager 模型的理論和實現方法;增加了模擬流體的線性多項式狀態方程和模擬炸藥的JWL 狀態方程,補充了失效模型。
8. 增加了任意拉格朗日-歐拉法一章,詳細講述了任意拉格朗日-歐拉描述的運動描述方法、守恆方程及其有限元離散格式(含彼得羅夫-伽遼金有限元)和格線更新算法,並講述了求解歐拉法和任意拉格朗日-歐拉法控制方程的運算元分裂法和輸運算法。
9. 鑒於近年來物質點法在模擬衝擊爆炸等涉及材料破壞的問題中發展迅速,第2 版重寫了物質點法部分,並簡要介紹了本課題組用C++ 語言研發的三維物質點法數值仿真軟體MPM3D。MPM3D 的FORTRAN 90 簡化版MPM3D-F90 已經開源,可從本教材網站上下載。
10. 近年來多核計算機發展迅速,因此在並行計算部分中補充了用於共享記憶體並行編程的OpenMP 編程方法。
11. 將原第9 章改為第III 篇,並重整為4 章。
12. 增加了用ParaView 進行後處理的內容(附錄C)。ParaView 可以對極大規模的數據進行快速可視化,功能強大、操作簡單靈活。ParaView 是開源、跨平台軟體,其數據處理規模和效率遠高於Tecplot 軟體,還可以基於原始數據做多種多樣的數據提取和再分析。
除此之外,第2 版還對第1 版做了其他大量的修訂,不再一一列出。王天舒負責修訂計算多體動力學部分,劉岩負責編寫第6 章(頻域分析方法) 和1.4.3節,張雄負責修訂其餘部分並統稿。廉艷平博士編寫了附錄C,並將MPM3D 軟體中的Drucker-Prager 模型移植到EFEP90 程式中,同時補充了邊坡失效模擬算例。陳享補充了
第10 章中的三維輸運算法(10.6.5節) 和結點變數的輸運(10.6.6節) 算法中的交錯格線法部分。
本教材受到清華大學“985”三期名優教材建設項目資助,特此致謝。
目錄
第I 篇 計算結構動力學 1
第1 章 線彈性動力學變分原理 . 3
1.1 加權餘量法 3
1.2 達朗貝爾-拉格朗日原理 7
1.3 哈密頓原理 8
1.4 約束條件的施加方法 14
1.5 廣義變分原理 20
習題 . 22
第2 章 有限元離散 . 23
2.1 三結點三角形單元 23
2.2 運動方程 28
2.3 質量矩陣 31
2.4 阻尼矩陣 35
2.5 剛度矩陣 35
2.6 有限元程式實現 38
2.7 STAP90 程式 49
習題 52
第3 章 大型系統特徵值問題 . 53
3.1 特徵解的性質 54
3.2 誤差估計 57
3.3 向量疊代法 59
3.4 變換法 69
3.5 瑞利-里茲法 79
3.6 子空間疊代法 83
3.7 Lanczos 疊代法 87
習題 93
第4 章 運動方程的解法. 94
4.1 振型疊加法 94
4.2 直接積分法的穩定性 97
4.3 中心差分法 99
4.4 Houbolt 法 106
4.5 Newmark 法 112
4.6 Wilson θ 法 118
4.7 廣義α 法 125
4.8 精細積分法 128
4.9 時間域離散 133
4.10 基於伽遼金法弱形式的時間積分法 136
4.11 各種方法的比較 144
4.12 顯式和隱式積分方法的綜合 148
4.13 時間積分程式TIP90 152
習題 156
第5 章 動態子結構方法. 158
5.1 靜力凝聚和靜力子結構法 158
5.2 固定界面模態綜合法 161
5.3 自由界面模態綜合法 167
5.4 復模態理論 171
習題 175
第6 章 頻域分析方法. 176
6.1 頻響函式與快速傅立葉變換 176
6.2 回響譜分析方法及其套用 182
6.3 隨機振動數值分析初步 191
習題 200
第II 篇 計算衝擊動力學 201
第7 章 連續介質力學基礎 . . 203
7.1 物體運動和變形的描述方法 203
7.2 應變度量 207
7.3 應力度量 211
7.4 守恆方程 217
第8 章 拉格朗日有限元法 . 224
8.1 格線描述 224
8.2 更新拉格朗日格式 228
8.3 完全拉格朗日格式 234
8.4 方程求解 235
8.5 人工體積粘性 . 242
8.6 沙漏模態 243
8.7 接觸-碰撞算法 249
8.8 顯式有限元程式EFEP90 268
第9 章 材料模型 . 275
9.1 應力更新 . 275
9.2 強度模型 . 277
9.3 狀態方程 . 301
9.4 失效模型 . 302
9.5 材料模型程式實現 303
第10 章 任意拉格朗日-歐拉法 . . 314
10.1 運動描述 . 314
10.2 守恆方程 . 315
10.3 有限元離散 317
10.4 格線更新 . 320
10.5 運算元分裂 . 324
10.6 輸運算法
第11 章 無格線法. . 340
11.1 移動最小二乘近似 343
11.2 伽遼金型無格線法 352
11.3 光滑質點流體動力學方法 366
11.4 物質點法 . 373
第12 章 並行計算. . 385
12.1 並行計算和並行機 385
12.2 任務分配 . 386
12.3 並行程式設計 . 389
12.4 EFEP90 程式並行化 . 400
第III 篇 計算多體動力學 405
第13 章 剛體運動學基礎 . . 407
13.1 參考系運動學 . 407
13.2 剛體的有限轉動 410
13.3 剛體的姿態坐標 413
13.4 小結 421
第14 章 多剛體系統的運動學分析 . . 424
14.1 約束及約束方程 424
14.2 多剛體系統的運動學分析 435
第15 章 多剛體系統的動力學分析 . . 438
15.1 多剛體系統的動力學方程 438
15.2 靜力學分析和逆動力學分析 . 449
15.3 多剛體系統的動力學分析 450
15.4 多剛體系統動力學分析示例程式 . 455
第16 章 柔性多體系統動力學建模方法 .. . . 484
16.1 基於模態坐標柔性多體系統動力學建模方法 485
16.2 柔性多體系統動力學方程的有限元格式 . 493
附錄A 張量 . . 503
A.1 指標記號與求和約定 . 503
A.2 張量運算 . 505
A.3 Voigt 記號 . 509
附錄B 用Tecplot 進行後處理 . . 511
附錄C 用ParaView 進行後處理 . . . . 516
C.1 一個實例 . 517
C.2 數據格式 . 522
附錄D FEAP 程式 . . . . 535