可参看曹金凤《python语言在ABAQUS中的应用》一书
以下是我参考书中代码写的提取全域最大应力和最大位移的代码:
def postdeal():#定义后处理函数
myJob1=mdb.Job(name='Job-1',model='Model-1')#新建作业
http://mdb.jobs['Job-1'].submit(consistencyChecking=OFF)#提交定义的作业
myJob1.waitForCompletion()#等待作业完成
odb=openOdb(path='Job-1.odb',readOnly=False)#打开ODB文件
stress=odb.steps['Step-1'].frames[-1].fieldOutputs['S']#各个单元的应力分量
displacement=odb.steps['Step-1'].frames[-1].fieldOutputs['U']#各个单元的位移分量
maxValue=None #最大的应力分量
maxdisp=None #最大的位移分量
for stressValue in stress.values:
if (not maxValue or stressValue.mises>maxValue.mises):
maxValue=stressValue #得到点阵结构的最大应力
for dispValue in displacement.values:
if (not maxdisp or dispValue.magnitude>maxdisp.magnitude):
maxdisp=dispValue #得到点阵结构的最大位移
maxdi=maxdisp.magnitude #最大位移的值
maxva=maxValue.mises #最大应力的值
q=(maxdi,maxva) #作为返回量
session.odbs['Job-1.odb'].close() #关闭打开的ODB文件
return q
代码很简单,应该能看懂,仅供参考,另外,如要提取指定结点集的应力,其方法是类似的,可能需要写个循环,可以自行研究。