1、演讲人202x-11-11cae分析大系分析大系abaquspython二次开发攻略二次开发攻略01.02.03.04.05.目录评语一引言二python基础三abaqus/python基础四应用实例01one评语评语评语 02one一引言一引言一引言1abaqus二次开发简介1.2python、fortran与abaqus1.3基于python二次开发1.1为什么是python2python能力确认u2.2程序运行结果一引言3脚本的运行与开发环境3.1abaqus中脚本的运行3.2选择自己的python开发环境3.2选择自己的Python开发环境3.1abaqus中脚本的运行u3.1.1命令
2、区kcli(kernelcommandlineinterface)3.1.2cae-runscript3.1.3abaquscommand3.1.4abaquspdeu3.1.2CAE-RunScriptu3.1.3AbaqusCommandu3.1.4AbaqusPDE3脚本的运行与开发环境3.2选择自己的python开发环境u3.2.1abaquspde3.2.2idle3.2.3notepad+3.2.4editplus3.2.5选择合适的编程环境u3.2.2IDLEu3.2.3Notepad+u3.2.4EditPlusu3.2.5选择合适的编程环境3脚本的运行与开发环境03one二二
3、python基础基础4python数据类型与操作符4.1基本数据类型4.2列表、元组和字符串4.3字典4.4集合4.5操作符4.2列表、元组和字符串u4.2.1列表(list)u4.2.2元组(tuple)u4.2.3字符串(str)u4.2.4列表、元组和字符串的关系4python数据类型与操作符4.5操作符u4.5.1赋值操作符u4.5.2数字类型的操作符u4.5.3序列类型的操作符u4.5.4字典和集合的操作符4python数据类型与操作符5表达式和流程控制01 5.1表达式和程序执行流程02 5.2分支语句if-else035.3.1while循环语句5.3.2for循环语句5.3循环
4、语句045.4.1break语句5.4.2continue语句5.4中断和退出05 5.5特殊语句pass 6.1定义函数 6 . 2 函 数 中 的 参 数 传 递 与 调用 方 法6.3.1lambda关键字与匿名函数6.3.2map关键字与批量化函数操作6.3.3reduce关键字和求和6.3.4filter关键字和条件选择6.3.2Map关键字与批量化函数操作6.3.3Reduce关键字和求和6.3.4Filter关键字和条件选择6 . 3 几 个 特 殊 的 函 数 关 键 字6函数7对象和类7.1对象7.2类7.3模块和包7.2类u7.2.1如何定义类u7.2.2如何使用类u7.2
5、.3子类、父类和继承u7.2.4几个特殊的实例属性和类方法7对象和类7.3模块和包u7.3.1模块u7.3.2模块的路径搜索u7.3.3名称空间u7.3.4包7对象和类二python基础8文件和目录8.1文件读写操作8.2目录操作8.4综合实例8.3文件的压缩和备份二python基础9异常处理9.1python中常见的异常9.3使用异常9.4再看异常处理的作用9.2自定义异常10常用python扩展模块介绍10.5reportlab和pdfe10.4xlrd/xlwt与读写exceld10.1numpy和高效数据处理a10.2scipy与数值计算b10.3matplotlib和图表绘制c10.
6、6联合使用类库f10.1numpy和高效数据处理u10.1.1创建数组u10.1.2数组操作u10.1.3数组运算u10.1.4线性代数10常用python扩展模块介绍10.2scipy与数值计算u10.2.1插值u10.2.2拟合u10.2.3极值问题10常用python扩展模块介绍10.3matplotlib和图表绘制u10.3.1二维点线数据绘制u10.3.2辅助散点和线图绘制u10.3.3简单三维数据可视化10常用python扩展模块介绍10.4xlrd/xlwt与读写excelu10.4.1读取excel文件10.4.2写入excel数据u10.4.2写入Excel数据10常用pyt
7、hon扩展模块介绍11python编程中的效率问题11.1时间成本优化11.2空间成本优化11.1时间成本优化u 11.1.1使用内建函数(built-infunction)11.1.2循环内部的变量创建11.1.3循环内部避免不必要的函数调用11.1.4使用列表解析11.1.5尽量减少io读写11.1.6使用优秀的第三方库11.1.7其他u 11.1.2循环内部的变量创建u 11.1.3循环内部避免不必要的函数调用u 11.1.4使用列表解析u 11.1.5尽量减少IO读写u 11.1.6使用优秀的第三方库u 11.1.7其他11python编程中的效率问题11.2空间成本优化u11.2.1
8、使用xrange处理长序列u11.2.2注意数据类型的使用u11.2.3使用iterator11python编程中的效率问题04one三三abaqus/python基础基础三abaqus/python基础12abaqusscript入门112.1gui操作vsrpy脚本日志212.2对脚本进行简单的二次开发13abaqus/python基础13.1abaqus/python中的数据类型13.2abaqus/python的对象的访问和创建13.3abaqus/python中的主要对象概况13.2Abaqus/Python的对象的访问和创建13.3Abaqus/Python中的主要对象概况13.1
9、abaqus/python中的数据类型u13.1.1符号常值(symbolicconstants)13.1.2布尔值(booleans)13.1.3特有的模型对象13.1.4序列(sequences)13.1.5仓库(repositories)u13.1.2布尔值(Booleans)u13.1.3特有的模型对象u13.1.4序列(Sequences)u13.1.5仓库(Repositories)13abaqus/python基础13.2abaqus/python的对象的访问和创建u13.2.1对象的访问u13.2.2对象数据的修改u13.2.3对象的创建13abaqus/python基础13.
10、3abaqus/python中的主要对象概况u13.3.1abaqus中的session对象13.3.2abaqus中的mdb对象13.3.3abaqus中的odb对象u13.3.2Abaqus中的Mdb对象u13.3.3Abaqus中的Odb对象13abaqus/python基础三abaqus/python基础14session对象的使用14.1viewport及其相关对象14.3xydata对象14.4xycurve和xyplot对象14.5writexyreport和writefieldreport函数14.2path对象010203040515mdb对象的使用15.1model类与有限
11、元模型的建立 15.1.1sketch和part对象15.1.2material和section对象15.1.3assembly对象15.1.4step对象15.1.5region对象15.1.6constraint和interaction对象15.1.7mesh函数15.1.8boundarycondition和load对象15.2job命令 15.1.1Sketch和Part对象15.1.2Material和Section对象15.1.3Assembly对象15.1.4Step对象15.1.5Region对象15.1.6Constraint和Interaction对象15.1.7Mesh函
12、数15.1.8BoundaryCondition和Load对象15.2Job命令16odb对象的使用0116.1.1material对象16.1.2孤立网格数据信息16.1.3集合对象16.1.2孤立网格数据信息16.1.3集合对象16.1odb对象中模型数据0216.2.1场变量数据的处理16.2.2历史变量数据的处理16.2odb对象中结果数据的读取0316.3.1已有模型添加特定数据16.3.2生成完整的odb对象16.3.2生成完整的Odb对象16.3odb数据文件的写入17几个常见问题0117.1.1内置的选择函数17.1.2基于特征的筛选方法17.1几何和网格元素的选择02 17.
13、2几何元素的特征操作03 17.3具有集合性质的对象04 17.4监测任务运行过程和结果0517.5.1交互输入17.5.2gui插件制作17.5.2GUI插件制作17.5交互式输入与gui插件05one四应用实例四应用实例18悬链线问题18.1悬链线的方程18.2利用abaqus分析悬链线曲线特征 18.2.1建立分析脚本18.2.2确定合适的初始拉伸量18.2.3拉伸刚度的影响18.2利用Abaqus分析悬链线曲线特征 18.2.1建立分析脚本18.2.2确定合适的初始拉伸量18.2.3拉伸刚度的影响19扭力弹簧的刚度01 19.1扭力弹簧的理论分析公式0219.2.1梁单元模拟扭力弹簧1
14、9.2.2实体单元模拟扭力弹簧19.2利用abaqus分析扭力弹簧03 19.3结果对比20圆角处网格研究20.1带孔薄板 20.1.1理论分析20.1.2模型计算20.2台阶板倒角处的应力 20.2.1理论分析20.2.2有限元模拟21优化问题21.1水下圆筒的抗屈曲设计21.2过盈配合设计21.3笔盖的插入力的确定21.1水下圆筒的抗屈曲设计u21.1.1问题的描述u21.1.2参数化模型u21.1.3优化策略u21.1.4求解与结果21优化问题21.2过盈配合设计u21.2.1问题描述u21.2.2参数化模型建模u21.2.3优化策略与结果21优化问题21.3笔盖的插入力的确定u21.3
15、.1问题描述u21.3.2参数化模型建模u21.3.3优化策略与结果21优化问题 22.1数据传递方法之initialstate 22.1.1数据传递前的准备22.1.2standard数据导入explicit的步骤22.1.3数据导入实例:冲压成型分析22.2数据传递方法之mapsolution 22.2.1mapsolution使用格式22.2.2数据映射实例:拉拔成型 22.1.1数据传递前的准备 22.1.2Standard数据导入Explicit的步骤 22.1.3数据导入实例:冲压成型分析 22.2数据传递方法之Mapsolution 22.2.1Mapsolution使用格式 2
16、2.2.2数据映射实例:拉拔成型22分析之间的数据传递23python和子程序23.1fortran基本用法23.2python处理子程序的一般方法23.3实例:dload动态轴承载荷23.4实例:基于dflux的焊接热分析23.2Python处理子程序的一般方法23.3实例:Dload动态轴承载荷23.4实例:基于Dflux的焊接热分析23.1fortran基本用法u23.1.1fortran基本语法23.1.2fortran程序实例u23.1.2Fortran程序实例23python和子程序23.3实例:dload动态轴承载荷u23.3.1滚子间力的分布23.3.2hertz接触理论23.3.3dload子程序模板23.3.4python建模程序u23.3.2Hertz接触理论u23.3.3Dload子程序模板u23.3.4Python建模程序23python和子程序23.4实例:基于dflux的焊接热分析u23.4.1焊接分析热源类型23.4.2dflux子程序模板23.4.3焊接自动化分析脚本u23.4.2Dflux子程序模板u23.4.3焊接自动化分析脚本23python和子程序感谢聆听感谢聆听