如何使用pythonapi获取Abaqus ODB中元素集的体积?

2024-10-02 12:35:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我用的是Abaqus 6.14-1。在

我想从*.odb文件计算一个零件内一组元素的体积。在

我试过以下方法

# Extract element volumes from ODB
odbName = 'Ouput.odb'
odb = session.openOdb(odbName)
lastFrame = odb.steps['Step-1'].frames[-1]
volumeField = lastFrame.fieldOutputs['EVOL']
nucleus = odb.rootAssembly.instances['BOX-1'].elementSets['SPHERE']
volumeSet = volumeField.getSubset(region=nucleus, elementType='C3D10')
volumeFieldValues = volumeSet.values

volume = 0
for vol in volumeFieldValues:
    volume += vol

print volume
session.odbs[odbName].close()

但事实证明,“EVOL”不再是6.14的有效字段输出。在

我很惊讶没有一个明显的方法可以做到这一点。我手动运行了这个过程,并查看了*'rpy文件,看看Abaqus使用了什么方法,但是没有列出它,只有一条消息告诉我我做了什么。在

有什么建议吗?在


Tags: 文件方法元素sessionvolumenucleusvolabaqus
2条回答

字段输出变量EVOL对于abaqus6.14是有效的;但是需要手动请求它。在

有关此字段输出的更多信息,请参阅Abaqus分析用户指南第4.2.1节“整个元素变量”下。在

分析工作完成后,您应该能够使用问题中显示的脚本。在

在abaqus 2017,而不是

for vol in volumeFieldValues:
    volume += vol

它应该是:

^{pr2}$

enter image description here

相关问题 更多 >

    热门问题