首页/文章/ 详情

连载(14):Macro Manager 录制材料参数

2年前浏览2578

image.png

以下内容来自《Abaqus 有限元分析常见问题解答与实用技巧》

复杂有限元模型中,包含很多种材料,而且每种材料的特性参数非常多,在Abaqus / CAE 中定义这些参数十分浪费时间,是否有更加方便省时的方法来完成参数的定义呢?

『解 答』

Abaqus / CAE 中的功能允许记录一系列Abaqus 的脚本接口命令并保存在宏文件(abaqusMaros.py)中。在 Abaqus / CAE 的 File 菜单下,选择 Macro Manager  可以录制宏每个脚本接口命令都与 Abaqus / CAE 的某个操作对应,录制完毕后无需保存模型直接退出 Abaqus / CAE,录制的宏将自动保存到文件abaqusMacros.py笔者的保存路径是 C: \ 用户 \ a \ abaqusMcaros.py

下面以表4-1中所列3种材料的材料特性参数为例,教给读者使用宏管理器功能录制材料特性参数的详细操作步骤。实际应用时,读者可以根据需要录制任意数量的材料特性参数,或者直接创建材料库。

   表4-1  钢、铜和铝的材料属性(单位:N,m,Kg)

材料名称

材料属性

材料属性值

弹性模量

200 E 9

泊松比

0.3

密度

7800

屈服应力和塑性应变

400 E 60.00

420 E 60.02

500 E 60.20

600 E 60.50

弹性模量

110 E 9

泊松比

0.3

密度

8970

屈服应力和塑性应变

314 E 60.00

弹性模量

70 E 9

泊松比

0.35

密度

2700

屈服应力、塑性应变和温度

270 E 600

300 E 610

243 E 60300

270 E 61300

录制材料特性参数的详细操作步骤如下:

1启动Abaqus / CAE,在 File 菜单下选择 Macro Manager 创建宏add_SI_Materials,将保存路径设置为 Home,如图4-11所示。

image.png

 4-11  创建宏 add_SI_Materials

(2)切换到 Property 模块,在 Material Manager 下创建表4-1中的3种材料并输入对应材料属性。这部分操作比较简单,笔者在此不一一介绍操作界面,请读者自行完成。

3单击 Stop Recording 按钮结束宏录制。

4不必保存模型,直接退出 Abaqus / CAE

(5)重新启动 Abaqus / CAE,在 File 菜单中打开 Macro Manager,选中宏add_SI_Materials,单击 Run 按钮执行宏文件(图4-12),瞬间执行完毕。切换到Property 功能模块,在 Material Manager 中可以看到创建好的3种材料(图4-13)。   

image.png

4-12  执行宏文件 

image.png

                         图4-13  创建完的3种材料

软件安装的根目录(笔者的路径为C:\用户\a\ abaqusMacros.py)下找到录制的宏文件 abaqusMacros.py(资源包下列位置\ abaqusMacros.py)使用文本编辑器 EditPlus 软件打开源代码如下:

1      def add_SI_Materials():

2    import section

3    import regionToolset

4    import displayGroupMdbToolset as dgm

5    import part

      import material

7           import assembly

       import step

9           import interaction

10   import load

11    import mesh

12    import job

13    import sketch

14    import visualization

15    import xyPlot

16    import displayGroupOdbToolset as dgo

17    import connectorBehavior

18    session.viewports['Viewport: 1'].partDisplay.setValues(sectionAssignments=ON,

19        engineeringFeatures=ON)

20    session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues(

21        referenceRepresentation=OFF)

22    mdb.models['Model-1'].Material(name='Steel')

23    mdb.models['Model-1'].materials['Steel'].Elastic(table=((200000000000.0, 0.3),

24        ))

25    mdb.models['Model-1'].materials['Steel'].Density(table=((7800.0, ), ))

26    mdb.models['Model-1'].materials['Steel'].Plastic(table=((400000000.0, 0.0), (

27        420000000.0, 0.02), (500000000.0, 0.2), (600000000.0, 0.5)))

28    mdb.models['Model-1'].Material(name='Copper')

29   mdb.models['Model-1'].materials['Copper'].Elastic(table=((110000000000.0, 0.3),

30        ))

31    mdb.models['Model-1'].materials['Copper'].Density(table=((8970.0, ), ))

32    mdb.models['Model-1'].materials['Copper'].Plastic(table=((314000000.0, 0.0), ))

33    mdb.models['Model-1'].Material(name='Aluminum')

34    mdb.models['Model-1'].materials['Aluminum'].Elastic(table=((70000000000.0,

35        0.35), ))

36    mdb.models['Model-1'].materials['Aluminum'].Density(table=((2700.0, ), ))

37    mdb.models['Model-1'].materials['Aluminum'].Plastic(temperatureDependency=

38ON, table=((270000000.0, 0.0, 0.0), (300000000.0, 1.0, 0.0), (243000000.0,

39        0.0, 300.0), (270000000.0, 1.0, 300.0)))

1行代码定义函数 add_SI_Materials()

2行至第17行代码分别导入下列功能模块:sectionregionToolsetdisplayGroupMdbToolsetpartmaterialassemblystepinteractionloadmeshjobsketchvisualizationxyPlotdisplayGroupOdbToolsetconnectorBehavior细心的读者会发现,这些模块都是在 Abaqus / CAE 中建模使用的模块或工具。

18行至第21行代码对视口 Viewport  1中的部件进行显示设置,这些设置一般都由 Abaqus 自动完成,读者不必太关心。

第22行至第39行代码分别为模型 Model-1 创建了3种材料 Steel、Copper和 Aluminum,代码都使用英文单词加限制符“.”表示,读者很容易读懂并明白每行代码的含义,此处不再赘述。

『实用技巧』

(1)对于企业用户,建议按照本节介绍方法建立材料库;对于仿真分析工程师或在读研究生,根据需要,建议把常用材料属性也录制为宏,提高建模分析的效率。

(2)按照类似操作,读者也可以将复杂模型的建模部分、重复使用部分(例如,荷载工况库、分析过程库)录制为宏文件。

(3)根据需要,读者可以录制部分 Abaqus /CAE 操作,也可以录制完整的有限元分析。

本节只介绍了最简单的 Abaqus 软件中的 Python脚本开发,更完整的 Abaqus 脚本开发的详细介绍,请参见笔者的另一本著作《Python 语言在 Abaqus 中的应用》(第二版),书中详细介绍了 Python 编程基础、Abaqus 中的 Python 脚本接口基础知识、编写脚本建立模型、访问输出数据库(ODB)、定制插件等,任何一位Abaqus 软件使用人员借助于 Python 二次开发,都可以大大提高有限元分析的效率,少则提高几十倍,多则提高成千上万倍。

理论科普代码&命令求解技术Abaqus
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-06-05
最近编辑:2年前
力学与Abaqus仿真
博士 | 副教授 达成所愿 索见未来 助力科技 实现...
获赞 396粉丝 3484文章 109课程 5
点赞
收藏

作者推荐

未登录
还没有评论

课程
培训
服务
行家

VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈