建立單個材料
創建單個材料命令如下:
mdb.models['Model-1'].Material(name='Material-3')
給材料添加屬性
mdb.models['Model-1'].materials['Material-3'].Elastic(table=((2000.0, 0.3), ))
材料的屬性還有很多
創建材料庫
根據創建單個材料的方法,循環遍歷準備好的材料數據表格,即可批量導入材料庫,建立材料庫數據,實例材料文件及完整代碼參考如下
# coding=UTF-8
# 導入相應的模塊
from abaqus import *
from abaqusConstants import *
from caeModules import *
from driverUtils import executeOnCaeStartup
import xlrd
tardir=getInput('please copy your directory below',) #複製材料文件的完整路徑
xlsdata=xlrd.open_workbook(tardir) #打開材料庫文件
mytable=xlsdata.sheet_by_name(u'material') #獲取材料庫工作表
nrows=mytable.nrows-1 #循環次數
# 循環讀取才材料數據
for i in range(nrows):
materialname=str(mytable.row_values(i+1)[0]) #將屬性與表頭一一對應
E=mytable.row_values(i+1)[1]
V=mytable.row_values(i+1)[2]
mdb.models['Model-1'].Material(name=materialname) #創建材料
mdb.models['Model-1'].materials[materialname].Elastic(table=((E, V), )) #添加材料屬性
結果如下圖
擴展
代碼中只對材料添加了兩種屬性,實際可添加的屬性很多,使用序號索引屬性值容易出錯,實際應用中應該將關鍵字與表頭的相應關鍵字對應,並在代碼中添加相應的異常提示
另外對於一般用戶而言,很少大量的材料數據,使用ABAQUS中自帶的Material Library
插件即可以實現一般材料庫的創建和保存