CAE分析大系——ABAQUS Python二次开发攻略

978-7-115-41453-3
作者: 苏景鹤 江丙云
译者:
编辑: 杨璐

图书目录:

第 一部分 引言

第 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

详情

本书从选择Python进行二次开发的情况判断入手,逐步讲解了Python的运行开发环境、数据类型与操作符、表达式和流程控制、函数、对象和类、文件和目录、图表控制、异常处理等开发基础,并且通过大量实际开发案例讲解了悬帘线问题、扭矩弹簧的刚度、圆角处网格研究、优化问题、分析之间的数据传递等开发应用内容。

图书摘要

相关图书

AutoCAD 2020实战从入门到精通
AutoCAD 2020实战从入门到精通
CAE分析大系——ABAQUS有限元分析从入门到精通(第2版)
CAE分析大系——ABAQUS有限元分析从入门到精通(第2版)
Revit 2019实战培训教程
Revit 2019实战培训教程
零基础学AutoCAD 2018(全视频教学版)
零基础学AutoCAD 2018(全视频教学版)
CAE分析大系——ANSYS Workbench结构分析与实例详解
CAE分析大系——ANSYS Workbench结构分析与实例详解
AutoCAD 2020从入门到精通
AutoCAD 2020从入门到精通

相关文章

相关课程