打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Abaqus/python语言的结构介绍


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的最大优势。

Abaqus的object model分为session、mdb和odb三个objects,session为视图模块、mdb为模型数据模块、odb为数据输入输出模块。每个object下面又有很多命令分支,直到执行到所需要的具体命令。以下各图选自Abaqus Scripting User's Manual,更多书面的的解释可以参考abaqus手册。

每个object都像一棵树,要执行某个命令就需要按照python的面向对象的格式进行。


例如:cell4 = mdb.models['block'].parts['crankcase'].cells[4],要把part模块中编号为4的体赋值给cell4,就需通过路径mdb→models→part→cells(4号体属性),其中'block'、'crankcase'、分别是model和part的名字。

在草图Sketch中画线:
s = mdb.models[' block '].ConstrainedSketch(name='grid',sheetSize=3.0)
s.Line(point1=(-1.275, 0.0), point2=(-1.125, 0.0))
s.Line(point1=(1.125, 0.0), point2=(1.275, 0.0))
执行任何一条命令都必须按照结构树的格式进行操作。我们所看到的python脚本繁杂的语句就是这样形成的。这样大量的命令不能在短时间内掌握,我们只需要根据自己的需要边建立模型边学习就可以了。
a = mdb.models['Model-1'].rootAssembly
s = a.instances['Mount-1'].edges
side1Edges = s.findAt(((0.0475, 0.0, 0.0), ))

以上三行与下面的句子是等同的,即把findat找到的edges赋值给side1Edges。分开来写简单明了,大大缩短了语句的长度。
side1Edges = mdb.models['Model-1'].rootAssembly. instances['Mount-1'].edges.findAt(((0.0475, 0.0, 0.0), ))
a.Surface(side1Edges=side1Edges, name='Bottom'),这行语句设置side1Edges所对应的edge为名称'Bottom'的surface的set。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Abaqus里应用Python的一些技巧
使用python进行ABAQUS的二次开发的简要说明(by Young 2017.06.27)
「譯」一小时学会写Abaqus 脚本
如何区分Python语句块?Python基础教程!
python循环控制语句
通俗的理解:什么是编程语言?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服