使用Python建立Abaqus材料库
在你的研究过程中,你会发现自己常常重复使用同一套材料。当你每次开始新的模拟时,都需要使用材料编辑器来定义材料钢及其属性。为了避免每次定义材料属性的操作繁琐。可以使用Python脚本来编写材料库脚本,可以快速在abaqus界面定义材料属性。下文将介绍如何使用python编写Abaqus材料库。
我们在这里建立包含钛,AISI 1005 钢和金这三种材料的材料库。材料属性如下图所示:
材料属性表
材料 |
密度(kg/m3) |
弹性模量(N/m2) |
泊松比 |
钛 |
4500 |
116E9 |
0.34 |
AISI 1005 钢 | 7872 |
200E9 |
0.29 |
金 |
19320 |
77.2E9 |
0.42 |
(1)打开宏命令录制
file——>macro manager——>create,进入create macro对话框,创建一个宏录制。
(2)创建材料
点击create material,进入edit material对话框
命名为Titanium,定义材料的密度,弹性模量和泊松比
使用同样的命令创建其他两种材料。
停止录制。
进入工作目录,找到abaqusMacros.py文档,打开abaqusMacros.py文档
修改参数如下:
材料库建立完成。
新打开一个abaqus界面,运行刚刚的脚本,将快速建立材料库。
原脚本如下:
# -*- coding: mbcs -*-
# Do not delete the following import lines
from abaqus import *
from abaqusConstants import *
import __main__
import section
import regionToolset
import displayGroupMdbToolset as dgm
import part
import material
import assembly
import step
import interaction
import load
import mesh
import optimization
import job
import sketch
import visualization
import xyPlot
import displayGroupOdbToolset as dgo
import connectorBehavior
mdb.models['Model-1'].Material(name='Titanium')
mdb.models['Model-1'].materials['Titanium'].Density(table=((4500.0, ), ))
mdb.models['Model-1'].materials['Titanium'].Elastic(table=((116000000000.0,
0.34), ))
mdb.models['Model-1'].Material(name='AISI 1005 steel')
mdb.models['Model-1'].materials['AISI 1005 steel'].Density(table=((7872.0, ),
))
mdb.models['Model-1'].materials['AISI 1005 steel'].Elastic(table=((
200000000000.0, 0.29), ))
mdb.models['Model-1'].Material(name='Gold')
mdb.models['Model-1'].materials['Gold'].Density(table=((19320.0, ), ))
mdb.models['Model-1'].materials['Gold'].Elastic(table=((77200000000.0, 0.42),
))