- 积分
- 0
- 注册时间
- 2017-7-20
- 仿真币
-
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2017-10-27 23:12:12
|
显示全部楼层
来自 德国
我参考了论坛里几个朋友的py程序写得下面的,前处理在field output
里选了S,E,Evol,不知道这个程序是否可以求模型的平均应力和平均应变的比值,也就是E模量的值,请各位提提意见
from abaqus import*
from abaqusConstants import*
import regionToolset
import math
import material
from odbAccess import*
odb = openOdb(path='Seed0521.odb')
region = odb.rootAssembly.elementSets['SETALLELEM']
field1=odb.steps.values()[-1].frames[-1].fieldOutputs['S']
field2=odb.steps.values()[-1].frames[-1].fieldOutputs['EVOL']
field3=odb.steps.values()[-1].frames[-1].fieldOutputs['E']
subField1=field1.getSubset(region=region)
subField2=field2.getSubset(region=region)
subField3=field3.getSubset(region=region)
sum_s22=0
sum_e22=0
vol=0
j=0
while j<len(subField2.values):
val1=subField1.values[j].data[1]
val2=subField2.values[j]
val3=subField3.values[j].data[1]
s22=val1*val2.data
e22=val3*val2.data
vol=vol+val2.data
sum_s22=sum_s22+val1
sum_e22=sum_e22+val3
j+=1
ave_e22=sum_e22/vol
ave_s22=sum_s22/vol
print 'ave_s22 =', ave_s22
print 'ave_e22 =', ave_e22
print 'vol =', vol
print 'E22 =', ave_s22*1000000/ave_e22
|
|