Abaqus/python入门体会(初稿)
#===========================================================
自己的论文要用到有限元进行数值模拟分析,以前都用ansys计算,可ansys 中岩土的本构模型只有D—P模型,无法准确的反映土的硬化/软化性质,模拟 计算出的结果因此也和实际差别很大。Abaqus有着丰富的材料模型,超强的非 线性分析能力,岩土的模型也很多,因此オ转学Abaqus〇 Abaqus的cae建模功 能还是很好的,但科研课题一般都要进行参数分析,釆用cae的建模方法有些 不切实际,学了没几天就放弃cae开始学习inp,也是学了一阵子才知道inp不 能建立实体模型,只能直接建节点和单元。复杂的模型inp也无法建立,但釆 用Python建模就可以解决这个问题。
由于Abaqus的学习资料不多,过了好些日子才知道Abaqus也可以采用 Python语言进行建模计算,只是比Ansys的Apdl语言复杂得多,并且除了手 册上的Script资料之外,没有较为系统的教程,刚一接触真是让人头痛。通过 查看Simwe论坛上关于Python的帖子,和论坛朋友的帮助,自己在慢慢积累, 现在对Python有了一点点了解,算是入了个门。
接触Abaqus也没多久,对python更是一知半解,绝大多数地方根本都不 清楚,抽空写一点认识体会主要是给像自己一样刚学习Abqus Python的朋友, 能少走一些弯路,节约一些时间。同时希望大家批评指正、共同讨论、补充。
学习Abaqus/Python基础:Abaqus的cae建模有比较全面的认识;了解一 些Python语法知识(大家都不会有太多时间单独学习Python语言本身,只需 要有概念了解即可,不懂的地方可以随时查询Python script手册)
Abaqus/Python学会使用不太难,可要精通应用还是要付出一定的劳动。大 家所分析的课题专业不同,方向也千差万别,所用到的Abaqus的功能也就有 很大的差别,能对自己的工作领域熟练应用就算成功。Abaqus毕竟只是软件, 如何考虑专业知识成功建模才是最困难的。
#
1.Python 与 Abaqus
2.Abaqus/Python 结构
3.模型参数分析技巧
4.几个命令的体会
5.ー个 Abaqus/Python 例子
#
1.1Python 简介
Python是面向对象的语言。面向对象的语言自己的理解为:语言本身已经 定义了许多固定模块,如数学函数、对显示模式的控制、一些对话框的编写等 等程序模块,只需要按照程序的指定格式填空即可完成既定任务,格式相对比 较固定,因此语言格式看起来非常繁琐,但方便实用能够大量节约程序员的时 间。面向对象语言的使用方式可以比喻为:一棵树分为树干、树枝、细枝和树 叶等部分,你要是想得到ー个确定位置的树叶(且具大小等属性)只有一个路 径可以走即树干ー树枝ー细枝ー树叶,换成面向对象的格式为树干.树枝.细 枝.树叶(树叶片数或大小等属性)。
以下是abaqus中Python的一般格式,这些格式都是固定的,我们只需要改 变其中的参数即可:
mdb.models['Model-1'].ConstrainedSketch(name=' _profile ', sheetSize=0.3) s = mdb.models['Model-1'].ConstrainedSketch(name=' _profile ', sheetSize=0.3) s.sketchOptions.setValues(decimalPlaces=3, viewStyle=AXISYM) s.setPrimaryObject(option=STANDALONE)
s.ConstructionLine(point1=(0.0, -100.0), point2=(0.0, 100.0))
Python有着较强的逻辑控制语句如if、for、while等,可以通过循环或条件等 语句把复杂且重复的操作变得简单易于操作,也是用参数化编程较cae的最大优 势。
1.2如何学abaqus Python命令
Abaqus是采用Python语言编制而成,在cae中所有的操作都可以通过 Python脚本命令完成(注:好像Python并不能完全取代inp文件,ー些材料属 性的参数好像要用inp才能赋值)。
☆学会用python reader程序
Abaqus cae可以自动生成python文件,存放在工作目录的abaqus.rpy文件 中,每ー步cae操作都会产生相应的python命令。可以通过simwe网友 ck436ck436编写的python reader程序实时读取产生的命令,反复揣摩、领会每 个命令,很快就会有所提高,对python的命令有所领悟。
与 cae 建模相同,Python 建模也分为:part、property> assembly> step、 ineraction、load、mesh、job等模块,具体每个模块中的建模命令可参考Python reader读取的命令学习,我们只需去记忆常用的Python命令。
以下是python reader程序下载地址。
http://forum.simwe.com/viewthread.php?tid=808007&highlight=Python
http://groups.google.com/group/ck436goooglemail/files
☆通过修改 M8四& rpy建立自己的脚本文件是一条捷径
1.3 Abaqus/Python学习资料
关于Python的学习资料非常多,如Swaroop, C.H.著沈洁元译的«简明 Python教程»就是很好的参考资料。王纯业的«Python学习笔记»也不错 ,simwe 论坛可以下载到恥
另外就是Abaqus手册:
Abaqus Scripting User's Manual
Abaqus Scripting Reference Manual
Getting Started with Abaqus: Interactive Edition
Abaqus手册真是冗长,只能是根据自己的课题有选择的査阅。
Abaqus的object model分为session、mdb和odb二个objects, session为视图模 块、mdb为模型数据模块、odb为数据输入输出模块。每个object下面乂有很多 命令分支,宜到执彳亍到所需要的具体命令。以下各图选自Abaqus Scripting User's Manual,更多书面的的解释可以参考abaqus手册。
每个object都像ー棵树,要执彳亍某个命令就需要按照python的面向对象的 格式进亍。
更多内容见附件
免责声明
本页面/内容部分素材来源于互联网公 开 信 息,旨在传递更多信息,不代表本平台立场。
版权归原作者或机构所有,如涉及侵权,请通过平台联系我们,我们将在核实后第一时间处理。
本平台对转载内容的真实性、准确性不作任何保证,用户需自行判断并承担使用风险。