基于Python脚本的ABAQUS参数化建模方法

上传人:飞*** 文档编号:40374065 上传时间:2018-05-26 格式:DOC 页数:6 大小:17.50KB
返回 下载 相关 举报
基于Python脚本的ABAQUS参数化建模方法_第1页
第1页 / 共6页
基于Python脚本的ABAQUS参数化建模方法_第2页
第2页 / 共6页
基于Python脚本的ABAQUS参数化建模方法_第3页
第3页 / 共6页
基于Python脚本的ABAQUS参数化建模方法_第4页
第4页 / 共6页
基于Python脚本的ABAQUS参数化建模方法_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《基于Python脚本的ABAQUS参数化建模方法》由会员分享,可在线阅读,更多相关《基于Python脚本的ABAQUS参数化建模方法(6页珍藏版)》请在金锄头文库上搜索。

1、基于基于PythonPython脚本的脚本的ABAQUSABAQUS参数化建模方法参数化建模方法本文档格式为本文档格式为WORD,WORD,感谢你的阅读。感谢你的阅读。摘要:本文总结了运用摘要:本文总结了运用ABAQUS/CAEABAQUS/CAE录制的脚本代码整理编译形录制的脚本代码整理编译形 成成PythonPython脚本,直接提交脚本,直接提交ABAQUSABAQUS内核运算的几种常用简便方法内核运算的几种常用简便方法 。并将研究变量设置为。并将研究变量设置为PythonPython脚本中的函数自变量,形成参数脚本中的函数自变量,形成参数 化建模计算脚本,通过改变关键参数即可改变研究变

2、量,达到化建模计算脚本,通过改变关键参数即可改变研究变量,达到 单因素改变快速建模分析运算的目的。最后通过一个悬臂梁实单因素改变快速建模分析运算的目的。最后通过一个悬臂梁实 例的参数化建模和循环优化分析,验证了这一方法的可行性和例的参数化建模和循环优化分析,验证了这一方法的可行性和 高效性。高效性。 关键词:关键词:ABAQUS/CAEABAQUS/CAE;PythonPython脚本;参数化建模;前处理脚本;参数化建模;前处理 TP391TP391 ABAQUSABAQUS 是一套功能强大的工程模拟的有限元软件,其解决问题的范围是一套功能强大的工程模拟的有限元软件,其解决问题的范围 从相对简

3、单的线性分析到许多复杂的非线性问题。从相对简单的线性分析到许多复杂的非线性问题。ABAQUSABAQUS 包括一个丰富的、可模拟任意几何形状的单元库。并拥有各种包括一个丰富的、可模拟任意几何形状的单元库。并拥有各种 类型的材料模型库,可以模拟典型工程材料的性能,其中包括类型的材料模型库,可以模拟典型工程材料的性能,其中包括 金属、钢筋混凝土以及土壤和岩石等地质材料,作为通用的模金属、钢筋混凝土以及土壤和岩石等地质材料,作为通用的模 拟工具,除了能解决大量结构(应力拟工具,除了能解决大量结构(应力 / / 位移)问题,还可以模拟其他工程领域的许多问题位移)问题,还可以模拟其他工程领域的许多问题1

4、1。 AbaqusAbaqus提供的用户图形界面提供的用户图形界面CAECAE可以很方便的进行常规建模操可以很方便的进行常规建模操 作,但当用户需要建立大量单因素变量模型时,使用作,但当用户需要建立大量单因素变量模型时,使用CAECAE建模建模 方式就显得低效了。为了解决这一问题,本文将采用方式就显得低效了。为了解决这一问题,本文将采用PythonPython脚脚本的方式将建模参数化,达到改变关键变量快速建模分析的目本的方式将建模参数化,达到改变关键变量快速建模分析的目 的。的。 1Python1Python语言在语言在AbaqusAbaqus中的应用中的应用 AbaqusAbaqus软件包括

5、三块:内核(软件包括三块:内核(kernelkernel),),GUIGUI和分析过程和分析过程2424 。PythonPython语言作为语言作为abaqusabaqus的内核脚本语言,将的内核脚本语言,将CAECAE中的所有操中的所有操 作以脚本(作以脚本(scriptscript)方式编译储存,提交)方式编译储存,提交AbaqusAbaqus 内核进行计算。基于这样的原理,我们可以按照内核进行计算。基于这样的原理,我们可以按照PythonPython的编译的编译 方式人为编写我们需要的脚本代码,通过方式人为编写我们需要的脚本代码,通过GUIGUI直接提交直接提交AbaqusAbaqus

6、内核,可以达到与内核,可以达到与CAECAE同样的建模效果,在某些情况下甚至能同样的建模效果,在某些情况下甚至能 完成一些在完成一些在CAECAE操作中不能完成的功能。操作中不能完成的功能。 运用运用PythonPython脚本完成脚本完成CAECAE操作的一般规则如下:操作的一般规则如下: mdb.modelsModel-1.Sketch(name=_profile_,mdb.modelsModel-1.Sketch(name=_profile_, sheetSize=100.0)sheetSize=100.0) 上面这段代码的功能是将草图区域设置为大小上面这段代码的功能是将草图区域设置为大

7、小100*100100*100。 以上只是列举一个简单的设置参数的脚本代码来说明运用以上只是列举一个简单的设置参数的脚本代码来说明运用PythPyth onon脚本进行建模初始设置的方法,可以看出脚本进行建模初始设置的方法,可以看出PythonPython脚本语言非脚本语言非 常简洁,易读性好。作为常简洁,易读性好。作为abaqusabaqus二次开发的一个重要方法,二次开发的一个重要方法,PyPy thonthon脚本正受到越来越多的学者和科研工作人员的学习和研究脚本正受到越来越多的学者和科研工作人员的学习和研究 33。 PythonPython脚本编写与参数化脚本编写与参数化 2.12.1

8、 脚本编写简便方法脚本编写简便方法 PythonPython脚本语言虽然简单易懂,但我们进行二次开发并不需要脚本语言虽然简单易懂,但我们进行二次开发并不需要 完全逐行编写代码来完成建模操作,完全逐行编写代码来完成建模操作,AbaqusAbaqus软件自带的脚本录软件自带的脚本录 制工具可以方便的让我们获取大量脚本代码,通过删减和组合制工具可以方便的让我们获取大量脚本代码,通过删减和组合 ,即可完成,即可完成PythonPython脚本编译。目前常用的脚本录制方式有以下脚本编译。目前常用的脚本录制方式有以下 三种:三种: (1 1)在)在abaqus/CAEabaqus/CAE中录制宏文件。启动

9、中录制宏文件。启动Abaqus/CAEAbaqus/CAE,在菜单,在菜单 中选择中选择MacroMacro ManagerManager进行脚本录制,完成进行脚本录制,完成CAECAE建模操作后,点击停止即可保建模操作后,点击停止即可保 存本次存本次CAECAE建模过程中的所有操作对应的脚本代码建模过程中的所有操作对应的脚本代码33。 (2 2)运用)运用*.jnl*.jnl文件创建文件创建PythonPython脚本。脚本。 *.jnl*.jnl文件是文件是AbaqusAbaqus的日志文件,里面包含了用于复制已存储的日志文件,里面包含了用于复制已存储 模型数据库的模型数据库的ABAQUS

10、/CAEABAQUS/CAE命令。整理命令。整理abaqus.jnlabaqus.jnl中记录的命令中记录的命令 ,可将其复制整理后直接粘贴到文本中,将文件后缀改为,可将其复制整理后直接粘贴到文本中,将文件后缀改为*.py*.py 即可提交运行。即可提交运行。 (3 3)运用)运用*.rpy*.rpy文件创建文件创建PythonPython脚本。脚本。 *.rpy*.rpy文件记录一次操作中几乎所有的文件记录一次操作中几乎所有的ABAQUS/CAEABAQUS/CAE命令。用文命令。用文 本编辑软件打开当前操作记录的本编辑软件打开当前操作记录的abaqus.rpyabaqus.rpy文件,将有

11、效部分文件,将有效部分 脚本复制出来,将文件后缀改为脚本复制出来,将文件后缀改为*.py*.py文件,即可直接提交运行文件,即可直接提交运行 。 以上三种是常用的利用以上三种是常用的利用ABAQUS/CAEABAQUS/CAE进行脚本录制和创建进行脚本录制和创建PythonPython 脚本进行二次开发的方法。由于模型的复杂程度不同,会导致脚本进行二次开发的方法。由于模型的复杂程度不同,会导致 录制脚本的复杂程度不尽相同,据此,本文总结了以下几点需录制脚本的复杂程度不尽相同,据此,本文总结了以下几点需 要注意的问题:要注意的问题: (1 1)利用)利用ABAQUS/CAEABAQUS/CAE录

12、制的脚本记录下了录制的脚本记录下了CAECAE操作中的所有命操作中的所有命 令和操作,其中包括视角转换操作代码和错误操作命令代码等令和操作,其中包括视角转换操作代码和错误操作命令代码等 ,这需要我们在创建,这需要我们在创建PythonPython脚本时加以甄别和删减组合。脚本时加以甄别和删减组合。 (2 2)在记录脚本之前在)在记录脚本之前在CAECAE建模之前先在脚本输入框中输入代建模之前先在脚本输入框中输入代 码设置码设置journalOptionsjournalOptions。作用在于将。作用在于将CAECAE操作中所输入的数据操作中所输入的数据 以坐标方式记录到脚本中,方便后续建模参数

13、化和变量替换。以坐标方式记录到脚本中,方便后续建模参数化和变量替换。 2.22.2 参数化建模方法参数化建模方法 首先,要建立建模环境,从首先,要建立建模环境,从AbaqusAbaqus 中导入建模所需的所有程序模块。中导入建模所需的所有程序模块。 其次,关键变量设置。如下例所示,将研究参数设置为变量,其次,关键变量设置。如下例所示,将研究参数设置为变量, 便于后期改变变量值完成重复性建模。便于后期改变变量值完成重复性建模。 3 3建模实例建模实例 本文通过一个悬臂梁的本文通过一个悬臂梁的PythonPython脚本参数化建模并自动提交脚本参数化建模并自动提交AbaqAbaq usus重复计算

14、以达到优化设计的实例来说明脚本语言建模的有效重复计算以达到优化设计的实例来说明脚本语言建模的有效 性和便捷性。性和便捷性。 悬臂梁长度为悬臂梁长度为2m2m,材料为圆钢管,截面外径为,材料为圆钢管,截面外径为25mm25mm,内经为设,内经为设 计参数,变化范围由计参数,变化范围由20mm25mm20mm25mm变化。悬臂梁左端固结,右端变化。悬臂梁左端固结,右端 施加竖直向下集中荷载,大小为施加竖直向下集中荷载,大小为1kN1kN。材料参数:。材料参数:E=2.1e11E=2.1e11,v v =0.3=0.3。优化设计目标,通过改变圆管内经大小,建立一组模型。优化设计目标,通过改变圆管内经

15、大小,建立一组模型 ,提交计算后比较悬臂梁右端挠度值,当挠度值大于,提交计算后比较悬臂梁右端挠度值,当挠度值大于30mm30mm时,时, 增加内经,每次增加值为增加内经,每次增加值为1mm1mm,重新建模提交计算。,重新建模提交计算。 根据实例要求,将圆管内经设为自变量函数。根据实例要求,将圆管内经设为自变量函数。 关键部分脚本代码如下:关键部分脚本代码如下: defdef createBeam(inradium):createBeam(inradium): s=m.Sketch(name=_profile_,sheetSize=200.0)s=m.Sketch(name=_profile_,

16、sheetSize=200.0) s.Line(point1=(0.0,s.Line(point1=(0.0, 0.0),0.0), point2=(2.0,point2=(2.0, 0.0)0.0) p.BaseWire(sketch=s)p.BaseWire(sketch=s) 以上几行代码的作用是引入以圆管内经为参数的函数,建立出以上几行代码的作用是引入以圆管内经为参数的函数,建立出 悬臂梁几何模型。悬臂梁几何模型。 radiusradius = = 0.0250.025 m.PipeProfile(name=Profile-m.PipeProfile(name=Profile- 1,r=radius,r0=inradium)1,r=radius,r0=inradium) 以上几行代码录入了悬臂梁截面形状,并将内径作为自变量引以上几

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号