第一篇二次开发基础出篇 1
第1章ANSYS软件及其二次开发工具 1
1.1ANSYS简介 1
1.1.1ANSYS的发展历程 1
1.1.2ANSYS12.0的组成 2
1.1.3其他有限元软件 4
1.2ANSYS二次开发工具 8
1.2.1APDL参数化设计语言 9
1.2.2UPFs用户可编程特性 9
1.2.3UIDL界面设计语言 10
1.2.4Tcl/Tk语言 14
第2章APDL基本知识 17
2.1APDL语言基础 17
2.1.1APDL参数及数组 17
2.1.2APDL程序控制 26
2.1.3APDL语言编辑器 27
2.2APDL宏 29
2.2.1创建APDL宏 29
2.2.2APDL宏的运行 31
2.2.3参数传递 32
2.2.4APDL宏简单实例 33
第3章UPFs基本知识 35
3.1UPFs基础 35
3.1.1UPFs的功能 35
3.1.2使用UPFs的建议 36
3.1.3inc文件 36
3.1.4关于程序的调试 37
3.1.5UPFs的构成 42
3.2UPFs基本子程序 42
3.2.1本构模型开发用户子程序 42
3.2.2单元开发用户子程序 54
3.2.3单元开发支持子程序 55
3.2.4修改和监视已存在单元的用户子程序 71
3.2.5载荷用户子程序 77
3.2.6支持子程序 86
3.2.7计算干预用户子程序 89
3.2.8自定义命令用户子程序 90
3.2.9内存管理子程序 90
3.2.10参数处理子程序 91
3.2.11其他有用的子程序和命令 93
3.3访问ANSYS数据库的子程序 94
3.3.1选择或获得节点及单元的子程序 95
3.3.2节点信息相关子程序 95
3.3.3单元特征相关子程序 95
3.3.4耦合及约束相关子程序 97
3.3.5节点载荷子程序 97
3.3.6单元载荷子程序 99
3.3.7结果信息子程序 102
3.4方便用户开发的子程序 107
3.4.1通用子程序 107
3.4.2向量操作子程序 113
3.4.3矩阵操作子程序 119
3.5UPFs的编译连接与激活 126
3.5.1FORTRAN编译器及系统设置 126
3.5.2编译连接过程 130
3.5.3使用FORTRAN之外的语言 132
编译连接 132
3.5.4激活UPFs的方法 135
3.6UPFs应用实例 138
3.6.1利用UPFs计算单元长度 138
3.6.2编译连接 139
3.6.3结果验证 140
第二篇APDL二次开发篇 142
第4章参数化建模及分析 142
4.1APDL参数化建模及分析基础 142
4.1.1APDL参数化建模基础 143
4.1.2APDL通用分析程序 143
4.2建立参数化弹簧模型 143
4.2.1问题描述 143
4.2.2模型建立 144
4.3建立渐开线圆柱齿轮模型 146
4.3.1问题描述 146
4.3.2模型建立 147
4.4采矿过程专用应力分析程序 151
4.4.1问题描述 152
4.4.2参数化模型 154
4.4.3开挖求解及后处理 157
4.4.4分析实例 158
第5章优化设计 160
5.1APDL优化设计基础 160
5.1.1ANSYS优化分析的概念 160
5.1.2优化算法 161
5.1.3APDL优化设计的步骤 163
5.2梁截面尺寸优化设计 164
5.2.1问题描述 164
5.2.2APDL优化过程 165
5.2.3优化结果分析 166
第6章APDL本构模型开发 169
6.1Duncan-Chang本构模型算法 169
6.1.1Duncan-Chang模型介绍 169
6.1.2Duncan-Chang模型算法 170
6.2APDL实现过程 172
6.2.1生成并调用宏文件 172
6.2.2APDL实现过程 173
第7章数据处理 176
7.1自定义输出文件格式 176
7.1.1ANSYS输出文件格式的设置 176
7.1.2用户自定义输出格式 180
7.2建立ABAQUS输入文件 181
7.2.1ABAQUSinp文件一般格式 181
7.2.2利用ANSYS输出inp文件 183
7.3向量和矩阵操作 187
7.3.1向量操作基础 187
7.3.2应用实例 187
7.4用户自定义动画 193
7.4.1ANSYS动画显示基础 193
7.4.2自定义动画的方法 194
7.4.3应用实例 194
7.5刚度矩阵可视化 199
7.5.1刚度矩阵的图形化输出方法 199
7.5.2Harwell-Boeing文件格式 200
7.5.3矩阵稀疏率 201
7.5.4测试模型 201
7.5.5相关宏文件说明 202
第三篇UPFs二次开发篇 206
第8章简单材料模型的二次开发 206
8.1简单弹性材料模型 206
8.1.1usermat子程序介绍 206
8.1.2应力更新 210
8.1.3一致切线算子矩阵 211
8.1.4单轴拉伸试验模拟 214
8.2超弹性材料模型 216
8.2.1UserHyper用户子程序 216
8.2.2模型算法 217
8.2.3数值实施 217
8.2.4橡胶材料受力分析 219
8.3考虑损伤的材料模型 223
8.3.1弹性损伤本构方程 223
8.3.2数值实施 224
8.3.3应用实例 228
8.4蠕变材料模型 230
8.4.1隐式蠕变与显式蠕变 230
8.4.2usercreep用户子程序 231
8.4.3模型算法 232
8.4.4数值实施 233
8.4.5零件锻造过程模拟 236
8.5用户自定义破坏准则 241
8.5.1userfc用户子程序 241
8.5.2模型算法 241
8.5.3数值实施 242
8.5.4层合板受力破坏模拟 244
8.6桩土相互作用弹簧本构的开发 247
8.6.1问题描述 247
8.6.2模型算法 249
8.6.3数值实施 250
8.6.4应用实例 255
第9章复杂弹塑性材料模型的二次开发 259
9.1塑性理论基础 259
9.1.1屈服准则 260
9.1.2强化准则 265
9.1.3流动法则 266
9.1.4写成矩阵形式 268
9.1.5用应力不变量表示的屈服函数 268
9.2Drucker-Prager本构模型的开发 271
9.2.1一致切线算子矩阵 271
9.2.2应力更新过程 273
9.2.3usermat代码 276
9.2.4边坡稳定性分析 281
第10章单元二次开发 285
10.1有限单元法基本理论 285
10.1.1几何方程与形函数 286
10.1.2虚功原理与有限元方程 287
10.1.3等参元 288
10.1.4数值积分 292
10.1.5ANSYS单元相关知识 294
10.2开发单元的两种方法 297
10.2.1用户定义单元API 297
10.2.2直接访问单元相关数据库和文件 299
10.2.3两种方法的区别 299
10.3用户定义单元API 301
10.3.1UserElem用户子程序 301
10.3.2ElemGetMat子程序 305
10.3.3单元验证 308
10.4直接访问单元相关数据库和文件 322
10.4.1uec用户子程序 323
10.4.2uel用户子程序 324
10.4.3uex用户子程序 325
10.4.4uep用户子程序 325
10.4.5usertr和userac用户子程序 326
10.5三维杆单元的开发 328
10.5.1LINK8单元描述 329
10.5.2uec用户子程序 330
10.5.3uel用户子程序 332
10.5.4单元验证 343
第11章其他二次开发功能 345
11.1用户自定义命令 345
11.1.1基本步骤 345
11.1.2应用实例 346
11.2用户自定义输出 354
11.2.1基本介绍 355
11.2.2应用实例 355
11.3用户自定义载荷 362
11.3.1基本介绍 362
11.3.2应用实例 363
11.4用户自定义优化程序 366
11.4.1使用自定义优化程序的方法 366
11.4.2userop用户子程序 366
11.5基于VisualBasic的ANSYS二次开发 370
11.5.1VisualBasic与ANSYS的接口 370
11.5.2应用实例 371
常见错误及调试 373
参考文献 374