Abaqus 后处理

获取odb文件

1
2
from odbAccess import *
odb = openOdb(r'<路径>')

相关输出的解释

1
2
print odb
({'analysisTitle':'Dynamic Loading','closed':False})

其中显示了各种数据的储存格式, 其中可以看到OdbAssembly object存放在当前odb的Assembly相关信息, 而其他的Repository object表示当前对象存储在类似字典类型的数据结构中.

整体用()括起来表示这应该是一个对象, 而后面的{}里面的都是这个对象的成员, 他们可以用odb.xxx来获得s引用.

1
{'CENT':'OdbSet object','ETOP':'OdbSet object'}

只有{}, 这个表示对象是一个字典类型的数据, 得用xxx['xxx']来获得引用.

Odb文件结构

  1. 查看Step信息, 这其中储藏了Odb单元应力应变以及节点位移等值. 其中应力应变是基于积分点的, 只能在单元上查询, 而位移以及反力都是基于节点的, 必须在节点上查询.
1
2
step = odb.steps
print step

frames中储藏的才是计算结果:

1
2
frame = step.frames
print len(frame)

其中frameValue指的是该分析步的时间.

查看计算结果数据:

1
2
u = u.values
print u[0]

其中, ‘position’: NODAL表明该数据位于节点上, 故是位移值.

1
2
s = s.values
print s[0]

其中, ‘position’: INTEGRATION_POINT表明这是积分点, 也就是基于单元的量, 读取的时候要用单元的编号.

0%