ABAQUS Python 二次開發攻略 CAE 分析大系

蘇景鶴 江丙雲

  • 出版商: 人民郵電
  • 出版日期: 2022-11-01
  • 售價: $359
  • 貴賓價: 9.5$341
  • 語言: 簡體中文
  • 頁數: 316
  • ISBN: 711541453X
  • ISBN-13: 9787115414533
  • 相關分類: Python程式語言
  • 立即出貨 (庫存 < 3)

  • ABAQUS Python 二次開發攻略 CAE 分析大系-preview-1
  • ABAQUS Python 二次開發攻略 CAE 分析大系-preview-2
ABAQUS Python 二次開發攻略 CAE 分析大系-preview-1

買這商品的人也買了...

商品描述

本書是作者結合自己多年Abaqus 使用經驗,在汲取國內外大量資料的基礎上編寫的一本Python 二次開發知識點筆記。內容涉及開發環境的搭建、Python 基礎語法知識、Abaqus Python API 講解,並以實例展示的方式詳細闡明瞭二次開發的流程和方法。本書可以幫助正在使用Abaqus 進行模擬分析工作的工程師或者科研人員學習Abaqus Python 二次開發方法,同時對熟悉Abaqus 二次開發流程的讀者也有一定的借鑒價值。

作者簡介

苏景鹤:SimWe论坛版主,自西安交通大学力学硕士毕业后一直从事结构分析与优化相关工作,有丰富的有限元分析经验。业余爱好程序设计,兴趣主要集中在数值分析方法与CAE软件二次开发方面。

 

江丙云:SimWe论坛、研发埠版主,精通ABAQUS结构分析、多物理场联合分析等,超过6年世界500强电子企业有限元分析经验,专职于机电产品工程分析及其优化设计;上海交通大学博士,出版有《CAE分析大系——ABAQUS工程实例详解》。

目錄大綱

第 一部分 引言

 

第 1章 Abaqus二次開發簡介 12

1.1 為什麽是Python 12

1.2 Python、FORTRAN與Abaqus 13

1.3 基於Python二次開發 14

 

第 2章 Python能力確認 17

2.1 測試程序 17

2.2 程序運行結果 22

 

第3章 腳本的運行與開發環境 23

3.1 Abaqus中腳本的運行 23

3.1.1 命令區KCLI(Kernel Command Line Interface) 23

3.1.2 CAE-Run Script 24

3.1.3 Abaqus Command 24

3.1.4 Abaqus PDE 25

3.2 選擇自己的Python開發環境 26

3.2.1 Abaqus PDE 26

3.2.2 IDLE 27

3.2.3 Notepad++ 28

3.2.4 EditPlus 29

3.2.5 選擇合適的編程環境 32

 

第 二部分 Python基礎

 

第4章 Python數據類型與操作符 34

4.1 基本數據類型 34

4.2 列表、元組和字符串 36

4.2.1 列表(list) 36

4.2.2 元組(tuple) 38

4.2.3 字符串(str) 40

4.2.4 列表、元組和字符串的關系 42

4.3 字典 43

4.4 集合 45

4.5 操作符 46

4.5.1 賦值操作符 46

4.5.2 數字類型的操作符 46

4.5.3 序列類型的操作符 48

4.5.4 字典和集合的操作符 50

 

第5章 表達式和流程控制 51

5.1 表達式和程序執行流程 51

5.2 分支語句if-else 52

5.3 循環語句 54

5.3.1 while循環語句 54

5.3.2 for循環語句 55

5.4 中斷和退出 58

5.4.1 break語句 58

5.4.2 continue語句 59

5.5 特殊語句pass 60

 

第6章 函數 61

6.1 定義函數 61

6.2 函數中的參數傳遞與調用方法 63

6.3 幾個特殊的函數關鍵字 64

6.3.1 Lambda關鍵字與匿名函數 64

6.3.2 Map關鍵字與批量化函數操作 66

6.3.3 Reduce關鍵字和求和 67

6.3.4 Filter關鍵字和條件選擇 67

 

第7章 對象和類 69

7.1 對象 69

7.2 類 70

7.2.1 如何定義類 70

7.2.2 如何使用類 71

7.2.3 子類、父類和繼承 72

7.2.4 幾個特殊的實例屬性和類方法 74

7.3 模塊和包 75

7.3.1 模塊 75

7.3.2 模塊的路徑搜索 76

7.3.3 名稱空間 77

7.3.4 包 78

 

第8章 文件和目錄 79

8.1 文件讀寫操作 79

8.2 目錄操作 82

8.3 文件的壓縮和備份 85

8.4 綜合實例 87

 

第9章 異常處理 89

9.1 Python中常見的異常 90

9.2 自定義異常 92

9.3 使用異常 93

9.4 再看異常處理的作用 95

 

第 10章 常用Python擴展模塊介紹 96

10.1 NumPy和高效數據處理 97

10.1.1 創建數組 98

10.1.2 數組操作 99

10.1.3 數組運算 100

10.1.4 線性代數 100

10.2 SciPy與數值計算 101

10.2.1 插值 101

10.2.2 擬合 101

10.2.3 極值問題 102

10.3 Matplotlib和圖表繪制 103

10.3.1 二維點線數據繪制 104

10.3.2 輔助散點和線圖繪制 105

10.3.3 簡單三維數據可視化 107

10.4 Xlrd/xlwt與讀寫Excel 109

10.4.1 讀取Excel文件 109

10.4.2 寫入Excel數據 109

10.5 Reportlab和PDF 110

10.6 聯合使用類庫 111

 

第 11章 Python編程中的效率問題 114

11.1 時間成本優化 114

11.1.1 使用內建函數(built-in Function) 114

11.1.2 循環內部的變量創建 115

11.1.3 循環內部避免不必要的函數調用 117

11.1.4 使用列表解析 118

11.1.5 盡量減少IO讀寫 118

11.1.6 使用優 秀的第三方庫 119

11.1.7 其他 120

11.2 空間成本優化 120

11.2.1 使用xrange處理長序列 120

11.2.2 註意數據類型的使用 121

11.2.3 使用iterator 122

 

第三部分 Abaqus/Python基礎

 

第 12章 Abaqus Script入門 124

12.1 GUI操作Vs rpy腳本日誌 124

12.2 對腳本進行簡單的二次開發 133

 

第 13章 Abaqus/Python基礎 135

13.1 Abaqus/Python中的數據類型 135

13.1.1 符號常值(SymbolicConstants) 135

13.1.2 布爾值(Booleans) 135

13.1.3 特有的模型對象 136

13.1.4 序列(Sequences) 136

13.1.5 倉庫(Repositories) 137

13.2 Abaqus/Python的對象的訪問和創建 138

13.2.1 對象的訪問 139

13.2.2 對象數據的修改 140

13.2.3 對象的創建 140

13.3 Abaqus/Python中的主要對象概況 141

13.3.1 Abaqus中的Session對象 142

13.3.2 Abaqus中的Mdb對象 143

13.3.3 Abaqus中的Odb對象 145

 

第 14章 Session對象的使用 146

14.1 Viewport及其相關對象 147

14.2 Path對象 152

14.3 XYData對象 153

14.4 XYCurve和XYPlot對象 154

14.5 writeXYReport和writeFieldReport函數 157

 

第 15章 Mdb對象的使用 160

15.1 Model類與有限元模型的建立 161

15.1.1 Sketch和Part對象 162

15.1.2 Material和Section對象 166

15.1.3 Assembly對象 167

15.1.4 Step對象 169

15.1.5 Region對象 170

15.1.6 Constraint和Interaction對象 171

15.1.7 Mesh函數 172

15.1.8 BoundaryCondition和Load對象 173

15.2 Job命令 176

 

第 16章 Odb對象的使用 177

16.1 Odb對象中模型數據 178

16.1.1 Material對象 178

16.1.2 孤立網格數據信息 178

16.1.3 集合對象 182

16.2 Odb對象中結果數據的讀取 184

16.2.1 場變量數據的處理 186

16.2.2 歷史變量數據的處理 189

16.3 Odb數據文件的寫入 190

16.3.1 已有模型添加特定數據 190

16.3.2 生成完整的Odb對象 192

 

第 17章 幾個常見問題 195

17.1 幾何和網格元素的選擇 195

17.1.1 內置的選擇函數 195

17.1.2 基於特徵的篩選方法 197

17.2 幾何元素的特徵操作 199

17.3 具有集合性質的對象 201

17.4 監測任務運行過程和結果 204

17.5 交互式輸入與GUI插件 206

17.5.1 交互輸入 207

17.5.2 GUI插件製作 208

 

第四部分 應用實例

 

第 18章 懸鏈線問題 218

18.1 懸鏈線的方程 218

18.2 利用Abaqus分析懸鏈線曲線特徵 221

18.2.1 建立分析腳本 221

18.2.2 確定合適的初始拉伸量 223

18.2.3 拉伸剛度的影響 224

 

第 19章 扭力彈簧的剛度 227

19.1 扭力彈簧的理論分析公式 227

19.2 利用Abaqus分析扭力彈簧 229

19.2.1 梁單元模擬扭力彈簧 229

19.2.2 實體單元模擬扭力彈簧 234

19.3 結果對比 236

 

第 20章 圓角處網格研究 238

20.1 帶孔薄板 238

20.1.1 理論分析 238

20.1.2 模型計算 239

20.2 台階板倒角處的應力 244

20.2.1 理論分析 244

20.2.2 有限元模擬 245

 

第 21章 優化問題 249

21.1 水下圓筒的抗屈曲設計 249

21.1.1 問題的描述 249

21.1.2 參數化模型 250

21.1.3 優化策略 251

21.1.4 求解與結果 254

21.2 過盈配合設計 258

21.2.1 問題描述 258

21.2.2 參數化模型建模 258

21.2.3 優化策略與結果 263

21.3 筆蓋的插入力的確定 268

21.3.1 問題描述 268

21.3.2 參數化模型建模 268

21.3.3 優化策略與結果 273

 

第 22章 分析之間的數據傳遞 277

22.1 數據傳遞方法之InitialState 277

22.1.1 數據傳遞前的準備 277

22.1.2 Standard數據導入Explicit的步驟 278

22.1.3 數據導入實例:沖壓成型分析 279

22.2 數據傳遞方法之Map solution 284

22.2.1 Map solution使用格式 284

22.2.2 數據映射實例:拉拔成型 287

 

第 23章 Python和子程序 295

23.1 Fortran基本用法 295

23.1.1 Fortran基本語法 295

23.1.2 Fortran程序實例 296

23.2 Python處理子程序的一般方法 297

23.3 實例:Dload動態軸承載荷 299

23.3.1 滾子間力的分佈 299

23.3.2 Hertz接觸理論 300

23.3.3 Dload子程序模板 301

23.3.4 Python建模程序 303

23.4 實例:基於Dflux的焊接熱分析 305

23.4.1 焊接分析熱源類型 306

23.4.2 Dflux子程序模板 307

23.4.3 焊接自動化分析腳本 309

 

參考文獻 316