前面两篇文章对abaqus的python开发作了一定介绍,本文将接着往期内容继续讲解,如何实现建模、材料属性编辑以及其它各项操作。为了能够方便的介绍相关模块内容,我们直接使用宏命令来进行脚本的录制,直接快速。
首先是创建分析模型,通常默认为“Model-1”,我们也可以自定义,如果不清楚如何自定义,可以通过宏进行监控便于代码的学习,这里创建Model并自定义名称的宏代码如图1所示(红色框)。所以我们在直接导入基础包之后,可以通过mdb.models.changeKey(fromName='Model-1',toName='MyTestModel')实现创建Model,编写代码如下所示。图1 宏代码
1#----------------------------------
2#Create the model
3mdb.models.changeKey(fromName='Model-1', toName='MyTestModel')
4myModel=mdb.models['MyTestModel']
之后创建分析部件,这里基于abaqus的part建模功能完成,我们拉伸创建一个长方体,察看宏代码如图2所示(红色框),筛选简化后将其转为如下代码行。具体代码的含义,熟悉整个abaqus操作的朋友一眼就能明白,这里不作过多说明。图2 拉伸创建几何模型宏代码
1#-----------------------------------
2#Create the part
3import sketch
4import part
5mySketch=myModel.ConstrainedSketch(name=testSketch,sheetSize=1000)
6mySketch.rectangle(point1=(100.0, 100.0), point2=(300.0, -100.0))
7myPart=myModel.Part(name='TestPart', dimensionality=THREE_D,
8 type=DEFORMABLE_BODY)
9myPart.BaseSolidExtrude(sketch=mySketch, depth=5000.0)
最后,我们再来讲讲创建材料并对模型赋予材料属性的代码编写,宏命令记录结果如图3所示(红色框),这里与前面衔接,需要注意的是myPart.cells是用于选取Cell的,我们知道Cell属于Part,如果你将一个Part分割为两部分,则该Part就包含两个Cell。图3 创建材料属性宏代码
1#-----------------------------------
2#Create materials
3
4import material
5import section
6
7myMaterial=myModel.Material(name='Q235')
8myMaterial.Density(table=((7.8e-09,),))#材料密度
9myMaterial.Elastic(table=((212000.0,0.288),))#材料弹性模量、泊松比
10
11#Create section
12
13myModel.HomogeneousSolidSection(name='Q235',material='Q235',thickness=None)
14myRegion=(myPart.cells,)#Part下面包含很多Cell,这里选择Cell进行材料属性的赋予
15myPart.SectionAssignment(region=myRegion,sectionName='Q235')
最后附上整个代码,从建模到创建材料属性以及赋予材料属性,代码如下:
1#--coding:utf-8--#
2from abaqus import *
3from abaqusConstants import *
4'''
5import regionToolset
6import sketch
7import part
8import material
9import section
10'''
11
12#----------------------------------
13#Create the model
14mdb.models.changeKey(fromName='Model-1', toName='MyTestModel')
15myModel=mdb.models['MyTestModel']
16
17#-----------------------------------
18#Create the part
19mySketch=myModel.ConstrainedSketch(name='testSketch',sheetSize=1000)
20mySketch.rectangle(point1=(100.0, 100.0), point2=(300.0, -100.0))
21myPart=myModel.Part(name='TestPart', dimensionality=THREE_D,
22 type=DEFORMABLE_BODY)
23myPart.BaseSolidExtrude(sketch=mySketch, depth=5000.0)
24
25#-----------------------------------
26#Create materials
27myMaterial=myModel.Material(name='Q235')
28myMaterial.Density(table=((7.8e-09,),))#材料密度
29myMaterial.Elastic(table=((212000.0,0.288),))#材料弹性模量、泊松比
30
31#-----------------------------------
32#Create section
33myModel.HomogeneousSolidSection(name='Q235',material='Q235',thickness=None)
34myRegion=(myPart.cells,)#Part下面包含很多Cell,这里选择Cell进行材料属性的赋予
35myPart.SectionAssignment(region=myRegion,sectionName='Q235')
本文就先介绍到这里,后面将介绍其它内容的编写,如果觉得文章有意义,欢迎转发赞赏,期待您的支持和鼓励。
扫描下方二维码,加入知识星球“CAE仿真空间”圈子,提供直接技术答疑,下期内容关于workbench多目标优化,敬请期待!
另欢迎关注公众号,更多文章发布于weixin公众号:cae_space
扫一扫关注。