本書在前幾版的基礎(chǔ)上進(jìn)行了全面的修訂,主要圍繞三個(gè)方面的問題展開有限元程序設(shè)計(jì),即固體力學(xué)問題、流體力學(xué)(包括熱力學(xué))問題及固體與流體的耦合問題(如土力學(xué)中的問題),涉及到的方程主要有靜力平衡方程、傳導(dǎo)方程和特征值方程。本書致力于幫助讀者通過有限元技術(shù)來使用為算法設(shè)計(jì)的“構(gòu)件塊”。其重點(diǎn)并不在于程序,而在于過程或子程序的集合。目的在于教會(huì)讀者編寫智能程序并使用它們。
適讀人群 :本書結(jié)構(gòu)合理、示例豐富,可作為從事有限元研究與開發(fā)的工程技術(shù)人員及土木工程和機(jī)械工程等相關(guān)專業(yè)的教師、學(xué)生的參考書。
*提供了相當(dāng)多的源程序供讀者參考。
*結(jié)合具體應(yīng)用實(shí)例,對本書中各程序的應(yīng)用原理、變量含義等做了簡明扼要的說明。
*考慮并行計(jì)算的研究進(jìn)展及新材料的熱應(yīng)力分析。
*提供大量的練習(xí),并在配套網(wǎng)站提供參考程序。
譯者序
隨著計(jì)算機(jī)硬件技術(shù)的巨大改進(jìn),有限元技術(shù)在各個(gè)工程領(lǐng)域正日益顯示出強(qiáng)大的生命力。有限元技術(shù)是一種數(shù)值計(jì)算技術(shù),它對不能用解析方法求解的問題,有著獨(dú)特的應(yīng)用能力。但是,掌握有限元技術(shù)又不僅僅是一個(gè)純粹的理論問題,它要求應(yīng)用人員有一定的程序設(shè)計(jì)能力,才能將它們應(yīng)用于工程領(lǐng)域?qū)嵺`,否則只能“望洋興嘆”。本書就是在這樣一種背景之下翻譯出版的,使讀者真正具有編制結(jié)構(gòu)清晰可見、閱讀性強(qiáng)的有限元程序。
本書的特點(diǎn)之一是提供了相當(dāng)多的源程序供讀者參考,真正地“站在巨人的肩膀上”。本書提供的各個(gè)程序都利用了FORTRAN2003的強(qiáng)大功能,采用模塊化編程技術(shù)實(shí)現(xiàn),有利于讀者閱讀。同時(shí),結(jié)合具體的工程應(yīng)用實(shí)例,對本書中各個(gè)程序的應(yīng)用原理、變量含義等做了簡明扼要的說明。本書的另一特點(diǎn)是,對每一類問題都提供了不同的求解技術(shù),如高斯直接消元法、迭代法、隱式積分法、顯式積分法、混合顯式/隱式積分法、共軛梯度法等。通常情況下,有限元分析對計(jì)算機(jī)的存儲要求和運(yùn)行速度要求都是很高的,尤其是對大型問題而言。因此,本書除了提供通常采用的單元組裝技術(shù)之外,還提供了有關(guān)“逐個(gè)單元”法或“自由網(wǎng)格”法等求解技術(shù),它們不需要存儲大型的總剛度矩陣。
此外,本書的這一版本中,還特別關(guān)注與其他開放軟件的接口,例如,ParaView用于計(jì)算結(jié)果的可視化,ABAQUS用戶子程序用于一些材料本構(gòu)模型,ARPACK用于大型特征值分析,METIS用于網(wǎng)格劃分等。本書涉及的知識面相對較廣,但主要圍繞三個(gè)方面的問題展開有限元程序設(shè)計(jì),即固體力學(xué)問題、流體力學(xué)(包括熱力學(xué))問題、固體與流體的耦合問題(如土力學(xué)中的問題),涉及的方程主要有靜力平衡方程、傳導(dǎo)方程和特征值方程。本書中,第2章和第3章是以后各章的基礎(chǔ);第4章至第6章是針對彈、塑性問題的靜力分析,應(yīng)用的主要是靜力平衡方程;第7章至第9章主要是針對流體問題,或者流體與固體的耦合問題,應(yīng)用的主要是傳導(dǎo)方程;第10章至第11章是彈、塑性實(shí)體的動(dòng)力響應(yīng)分析,應(yīng)用的主要是特征值方程;第12章是有限元分析的并行處理。當(dāng)然,其有限元分析過程都是類似的,這有利于讀者針對不同問題擴(kuò)展現(xiàn)有程序。
本書作為一本教材,主要針對學(xué)習(xí)有限元編程技術(shù)的本科生和研究生。另外,對相關(guān)領(lǐng)域內(nèi)從事有關(guān)有限元程序設(shè)計(jì)及應(yīng)用的工程技術(shù)人員也有指導(dǎo)作用。
翻譯國外的教材是一個(gè)再創(chuàng)作過程,本書的翻譯過程得到了很多人的幫助和參與,沒有他們?yōu)榇烁冻龅男羷冢筒粫?huì)在如此短的時(shí)間內(nèi)順利地翻譯這本書,在此衷心感謝為本書翻譯付出努力的每一個(gè)人!除了本人之外,慈鐵軍副教授、范偉麗副教授、葉鋒副教授和楊文剛博士等也參與了本書的翻譯工作。另外,韓春雨、曹應(yīng)平、白云燦、鄭朝陽、張軍磊、李賽賽、李先超和張晨陽等研究生也參與了本書翻譯的相關(guān)工作,在此對他們的工作表示衷心感謝。全書由張新春副教授統(tǒng)一校核。
由于譯者自身的知識局限性和精力有限,譯文難免有錯(cuò)漏之處,謹(jǐn)向原書作者和讀者表示歉意,并歡迎讀者批評指正。
華北電力大學(xué)機(jī)械工程系
張新春
2016年10月于保定
第五版前言
這個(gè)版本保持了先前版本成功的主題,即模塊化程序設(shè)計(jì)風(fēng)格,該風(fēng)格簡潔,易于讀取計(jì)算機(jī)程序,通過求解偏微分方程而解決廣泛的工程和科學(xué)問題。
盡管在計(jì)算機(jī)硬件上有了巨大的改進(jìn),但編程風(fēng)格本質(zhì)上是相同的。本書既適合首次接觸有限元方法的初學(xué)者閱讀,也可供使用最新一代并行超級計(jì)算機(jī)求解大型工程問題的專家參考。
在這一版本中,特別關(guān)注的是與其他開放軟件的接口,例如,ParaView用于結(jié)果的可視化,ABAQUS用戶子程序用于一些材料本構(gòu)模型,ARPACK用于大型特征值分析,METIS用于網(wǎng)格劃分。
考慮到計(jì)算機(jī)硬件的快速發(fā)展,第1章已經(jīng)重新改寫,例如,GPU的可用性和云計(jì)算環(huán)境。在第2章到第11章中,增加了大量附件用于提高分析選項(xiàng)。例如,新回歸算法用于彈、塑性分析,更多的一般邊界條件規(guī)范和動(dòng)態(tài)分析的復(fù)雜響應(yīng)選項(xiàng)。
第12章已經(jīng)更新,說明有限元分析在并行計(jì)算環(huán)境中快速發(fā)展的可能性。在第四版中,并行“進(jìn)程”的最大數(shù)目是64,而在本版本中,這個(gè)數(shù)目已經(jīng)增加到64000。本書還講述了加速計(jì)算GPU的使用。
致謝
非常感謝許多個(gè)人和機(jī)構(gòu)對本書所做的貢獻(xiàn)。感謝澳大利亞研究理事會(huì)對紐卡斯?fàn)?NSW)大學(xué)巖土科學(xué)與工程研究中心(CGSE)的大力支持,尤其是黃勁松(JinsongHuang)對第6章、第8章和第9章中幾個(gè)新的和改進(jìn)的程序開發(fā)與驗(yàn)證所做的貢獻(xiàn)。路易斯(曼徹斯特大學(xué))是ParaFEM的主要開發(fā)者之一,提供了第1章、第5章、第6章和第12章中ParaView使用的練習(xí)題,并建立了社團(tuán)網(wǎng)站http://parafem.org.uk。
有許多人對第12章做出了貢獻(xiàn)。LlionEvans,PaulMummery,PhilipManning,GrahamHall和DimitrisChristias(曼徹斯特大學(xué))提供了科學(xué)案例研究。FlorentLebeau和FrancoisBodin(CAPS公司)評估了GPU的使用,PhilippeYoung(Simpleware有限公司)提供了基于圖像模型的大力支持。
第12章中的程序標(biāo)記利用超級計(jì)算機(jī)來完成,這些超級計(jì)算機(jī)屬于英國國家高性能計(jì)算服務(wù)“HECToR”(e107,e254)和英國區(qū)域服務(wù)“N8HPC”(EP/K000225/1)。歐盟FP7項(xiàng)目“Venus-C”和(西班牙)巴塞羅那超級計(jì)算中心提供了使用微軟Azure的通道、資源和培訓(xùn)。
在本書的準(zhǔn)備過程中,我們也要感謝我們的家庭成員對本書的大力支持,包括ValerieGriffiths,LauraSanchez和NathanMargetts。
I. M. Smith,來自英國曼徹斯特大學(xué)。D. V. Griffiths,來自美國科羅拉多礦業(yè)大學(xué)。L. Margetts,來自英國曼徹斯特大學(xué)。
北京交通大學(xué)博士,加拿大阿爾伯塔大學(xué)博士后。目前為華北電力大學(xué)機(jī)械工程系副教授,研究生導(dǎo)師。研究主要集中于沖擊動(dòng)力學(xué)、結(jié)構(gòu)與材料的能量吸收、計(jì)算力學(xué)等領(lǐng)域。已發(fā)表學(xué)術(shù)論文30余篇。
目 錄
第1章 預(yù)備知識:計(jì)算機(jī)策略 1
1.1 引言 1
1.2 計(jì)算機(jī)硬件 1
1.3 存儲管理 2
1.4 向量處理器 2
1.5 多核處理器 3
1.6 協(xié)處理器 3
1.7 并行處理器 3
1.8 應(yīng)用軟件 4
1.8.1 編譯器 5
1.8.2 算術(shù)精度 5
1.8.3 條件語句 6
1.8.4 循環(huán)語句 6
1.9 數(shù)組 7
1.9.1 動(dòng)態(tài)數(shù)組 7
1.9.2 數(shù)組“廣播” 8
1.9.3 數(shù)組賦值 8
1.9.4 向量下標(biāo) 8
1.9.5 子數(shù)組 9
1.9.6 數(shù)組的整體操作 9
1.9.7 進(jìn)行數(shù)組運(yùn)算的內(nèi)部函數(shù) 9
1.9.8 模塊 10
1.9.9 子程序庫 10
1.9.10 結(jié)構(gòu)化編程 13
1.10 第三方函數(shù)庫 14
1.10.1 BLAS函數(shù)庫 14
1.10.2 數(shù)學(xué)函數(shù)庫 14
1.10.3 用戶子函數(shù) 14
1.10.4 MPI函數(shù)庫 14
1.11 可視化 15
1.11.1 啟動(dòng)ParaView 15
1.11.2 顯示約束節(jié)點(diǎn) 16
1.11.3 顯示施加荷載 17
1.11.4 顯示變形的網(wǎng)格 17
1.12 本章小結(jié) 18
參考文獻(xiàn) 19
第2章 有限元的空間離散化 20
2.1 引言 20
2.2 桿單元 20
2.2.1 桿單元?jiǎng)偠染仃?20
2.2.2 桿的慣性矩陣 22
2.3 特征值方程 23
2.4 梁單元 23
2.4.1 梁單元?jiǎng)偠染仃?23
2.4.2 梁單元慣性矩陣 25
2.5 具有軸向力作用的梁 25
2.6 彈性地基梁 26
2.7 離散化處理概述 27
2.8 推導(dǎo)單元?jiǎng)偠鹊牧硪环N方法 27
2.9 二維單元:平面應(yīng)力單元 28
2.10 能量法和平面應(yīng)變 31
2.11 平面單元的慣性矩陣 33
2.12 軸對稱應(yīng)力與應(yīng)變 33
2.13 三維應(yīng)力與應(yīng)變 34
2.14 平面彎曲單元 36
2.15 固體單元方程小結(jié) 39
2.16 流體流動(dòng):納維-斯托克斯方程 39
2.17 流動(dòng)方程的簡化 42
2.17.1 穩(wěn)態(tài)問題 42
2.17.2 瞬態(tài)問題 43
2.17.3 對流問題 44
2.18 畢奧固結(jié)耦合方程 45
2.19 本章小結(jié) 46
參考文獻(xiàn) 47
第3章 有限元的編程實(shí)現(xiàn) 48
3.1 引言 48
3.2 四邊形單元的局部坐標(biāo) 48
3.2.1 四邊形單元上的數(shù)值積分 50
3.2.2 四邊形單元上的解析積分 51
3.3 三角形單元的局部坐標(biāo) 52
3.3.1 三角形單元的數(shù)值積分 52
3.3.2 三角形單元的解析積分 53
3.4 多單元組裝 53
3.5 逐個(gè)單元法 55
3.5.1 求解線性方程組的共軛梯度法 55
3.5.2 前置法 56
3.5.3 非對稱系統(tǒng) 57
3.5.4 對稱的非正定方程 58
3.5.5 特征值系統(tǒng) 58
3.6 邊界條件的引入 58
3.7 模塊化編程 61
3.7.1 黑盒子程序 62
3.7.2 專用子程序 63
3.7.3 使用四邊形單元對彈性實(shí)體的平面應(yīng)變(應(yīng)力)分析 63
3.7.4 使用三角形單元對彈性實(shí)體的平面應(yīng)變(應(yīng)力)分析 66
3.7.5 彈性實(shí)體的軸對稱應(yīng)變分析 66
3.7.6 平面穩(wěn)態(tài)流層 67
3.7.7 質(zhì)量矩陣 67
3.7.8 高階二維單元 68
3.7.9 三維塊單元 69
3.7.10 單元?jiǎng)偠染仃嚨慕M裝 73
3.8 平衡方程的求解 77
3.9 特征值和特征向量的計(jì)算 78
3.9.1 雅可比算法 78
3.9.2 Lanczos和Arnoldi算法 79
3.10 一階率相關(guān)問題的求解 79
3.11 耦合納維-斯托克斯問題的求解 82
3.12 耦合瞬態(tài)問題的求解 84
3.12.1 完全載荷法 84
3.12.2 載荷增量法 85
3.13 二階偏導(dǎo)率相關(guān)問題的求解 85
3.13.1 模態(tài)疊加 86
3.13.2 紐馬克或克蘭克-尼科爾森法 88
3.13.3 威爾遜法 89
3.13.4 復(fù)合響應(yīng)法 89
3.13.5 顯式積分法和其他方法的概述 90
參考文獻(xiàn) 91
第4章 結(jié)構(gòu)的靜力平衡 93
4.1 引言 93
4.2 本章小結(jié) 127
4.3 變量名稱術(shù)語 127
4.4 習(xí)題 129
參考文獻(xiàn) 135
第5章 線彈性實(shí)體的靜力平衡 136
5.1 引言 136
5.2 變量名稱術(shù)語 178
5.3 習(xí)題 182
參考文獻(xiàn) 187
第6章 材料非線性 188
6.1 引言 188
6.2 材料的應(yīng)力-應(yīng)變關(guān)系 189
6.3 應(yīng)力不變量 190
6.4 破壞準(zhǔn)則 192
6.4.1 米澤斯破壞準(zhǔn)則 192
6.4.2 莫爾-庫侖和特雷斯卡破壞準(zhǔn)則 193
6.5 體荷載的生成方法 193
6.6 黏塑性法 194
6.7 初始應(yīng)力法 195
6.8 破壞面和塑性勢面的拐點(diǎn) 196
6.9 彈塑性率相關(guān)的積分 220
6.9.1 正向歐拉積分法 222
6.9.2 后向歐拉積分法 222
6.10 切線剛度法 223
6.10.1 非一致切線模量矩陣 223
6.10.2 一致切線模量矩陣 224
6.10.3 收斂性判斷準(zhǔn)則 224
6.11 堤防結(jié)構(gòu)構(gòu)筑與土方開挖的土工技術(shù)處理方法 236
6.11.1 筑堤防護(hù) 236
6.11.2 開挖技術(shù) 242
6.12 不排水剪分析 249
6.13 變量名稱術(shù)語 262
6.14 習(xí)題 268
參考文獻(xiàn) 270
第7章 恒定流 272
7.1 引言 272
7.2 變量名稱術(shù)語 292
7.3 習(xí)題 295
參考文獻(xiàn) 298
第8章 一階瞬態(tài)問題(非耦合) 299
8.1 引言 299
8.2 程序8.4,程序8.5,程序8.6和程序8.7的比較 320
8.3 變量名稱術(shù)語 337
8.4 習(xí)題 340
參考文獻(xiàn) 342
第9章 耦合問題 343
9.1 引言 343
9.2 變量名稱術(shù)語 369
9.3 習(xí)題 374
參考文獻(xiàn) 374
第10章 特征值問題 375
10.1 引言 375
10.2 變量名稱術(shù)語 387
10.3 習(xí)題 390
參考文獻(xiàn) 392
第11章 受迫振動(dòng) 393
11.1 引言 393
11.2 變量名稱術(shù)語 421
11.3 習(xí)題 425
參考文獻(xiàn) 426
第12章 有限元分析的并行處理 427
12.1 引言 427
12.2 并行和串行程序間的差異 428
12.2.1 并行庫 428
12.2.2 全局變量 429
12.2.3 MPI庫常規(guī) 429
12.2.4 _pp附屬 430
12.2.5 簡單的測試問題 430
12.2.6 讀入和輸出 433
12.2.7 rest取代nf 433
12.2.8 聚與散 433
12.2.9 重新索引 434
12.2.10 域組成 434
12.2.11 第三方網(wǎng)格劃分工具 434
12.2.12 加載平衡 436
12.3 圖形處理器 480
12.4 云計(jì)算 485
12.5 本章小結(jié) 486
12.6 變量名稱術(shù)語 487
參考文獻(xiàn) 493
附錄A 等效節(jié)點(diǎn)荷載 495
附錄B 形函數(shù)和單元節(jié)點(diǎn)編號 499
附錄C 塑性應(yīng)力-應(yīng)變矩陣及塑性勢偏導(dǎo)數(shù) 505
附錄D main庫子程序 508
附錄E 幾何庫子程序 512
附錄F 并行庫子程序 513
附錄G 外部子程序