- 积分
- 0
- 注册时间
- 2013-11-9
- 仿真币
-
- 最后登录
- 1970-1-1
|
本帖最后由 qdx天风海涛 于 2016-12-19 10:48 编辑
from abaqus import*
from abaqusConstants import*
import xlrd
import xlwt
import regionToolset
import math
import material
from odbAccess import*
file=xlwt.Workbook()
table=file.add_sheet('sheet1',cell_overwrite_ok=True)
odb = openOdb(path='single_film_distribution1_boundary.odb')
framesnumber=len(odb.steps['Step-1'].frames)
print "framesnumber=",framesnumber
i=0
while i<framesnumber:
region = odb.rootAssembly.elementSets['WHOLE']
field1=odb.steps['Step-1'].frames.fieldOutputs['S']
field2=odb.steps['Step-1'].frames.fieldOutputs['SDV5']
field3=odb.steps['Step-1'].frames.fieldOutputs['EVOL']
subField1=field1.getSubset(region=region)
subField2=field2.getSubset(region=region)
subField3=field3.getSubset(region=region)
sum_mises=0
sum_sdv5=0
vol=0
j=0
while j<len(subField1.values):
val1=subField1.values[j]
val2=subField2.values[j]
val3=subField3.values[j]
mises=val1.mises*val3.data
sdv5=val2.data*val3.data
vol=vol+val3.data
sum_mises=sum_mises+mises
sum_sdv5=sum_sdv5+sdv5
j+=1
ave_sdv5=sum_sdv5/vol
ave_mises=sum_mises/vol
table.write(i,0,ave_sdv5)
table.write(i,1,ave_mises)
i+=1
file.save('demo1.xls')
#
#
#
上面是我写的一个脚本用来提取Mises应力和VUMAT程序里面的一个变量SDV5,提取的时候是按每个积分点来提取的,同时对单元的体积进行平均,但是在我输出val3的时候发现所有的值都是0,有没有人了解这一方面的人给解答一下###########################################################################后来修改过了,确定运行没有问题;其中的SDV5是我子程序里面的一个变量,不需要的人可以把关于它的句子删掉。
|
|