abaqus对应python版本_Abaqus里应用Python的一些技巧

本文详细介绍了如何在Abaqus中使用Python进行建模,包括通过Python脚本创建草图、设置模型参数、进行参数分析、理解和运用各种命令,如Set、FindAt等。同时,强调了Python脚本建模在参数分析中的优势,以及如何通过修改自动生成的Python脚本来学习和掌握Abaqus建模技巧。
摘要由CSDN通过智能技术生成

例如: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。

#===========================================================

3.模型参数分析技巧

Python脚本建模的好处就是可以进行参数分析,即改变我们要分析模型的几何尺寸、材料属性等可变参数,对数值模型进行求解计算,从而对所分析的对象有更全面的了解。

1.对自己要进行参数分析的参数赋值:如几何尺寸或材料属性等a1=20,b1=30,c1=40,命名要符合python规则。

2.cae与Python混合建模,不会的命令就利用cae自动生成,用Python reader记录命令然后进行修改,可以弥补不熟悉Python的缺点;

3.逐句修改Python脚本,可以去掉一些不必要的语句并在cae中逐句进行验证。

#===========================================================

4. 几个命令的体会

4.1 Set ( )

Set命令在python建模时要经常用到,对实体、surface、element等分组,方便加载、施加约束和单元生死等控制

4.2 Findat ( )

对cell、edge、face、vertice进行查找,括号中参数为实体坐标

p = mdb.models['Model-1'].parts['Mount']

f = p.faces

faces = f.findAt(((0.042303, 0.006937, 0.0), ))

pickedRegions =(faces, )

p.setElementType(regions=pickedRegions,

elemTypes=(elemType1, elemType2))

4.3 Len ( )

利用len命令可以实现对单元选取

p = mdb.models['precast culvert'].parts['soil']

e = p.elements

len(e)

n1=len(e)

elements = e[1:n1] #单元数存放在e [ ]的一维数组里

p.Set(elements=elements, name='Set-3')

对单元进行编组set,可以进行生死单元的控制,我摸索了好久才想到这个办法,目前只在二维模型应用过,三维也应该没问题。Abaqus没有办法对单元编号进行编号控制,也没有像ansys那样有效的选择命令,怎样选择abaqus的单元就是很头疼的问题,我要做路堤的分层回填模拟,手动选取单元根本就没有可能。Abaqus的编号其实是有规则的,后划分的单元编号最小,先划分的单元编号最大;这样我们就可以每次划分单元后都采用len命令计算一次单元数量,并用参数记录下来,这样我们就能计算出每部分单元的数量以及他的起始和终止编号。根据elements = e[1:n1]、p.Set(elements=elements, name='Set-3')语句就可以把每部分单元设置成set,以后操作就很方便了。

#===========================================================

5. 一个Ab

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值