1. 背景
有限单元法计算单元积分点的应力应变值,而对于节点的应力应变值是通过外插得到的,Abaqus中云图显示的就是经过插值和平均后的节点的值。通过工具栏的Query-Probe values可以查看单元或节点的应力应变等结果。
对于自动化的后处理场景,通常需要自动批量地获取单元/节点的结果,通常都需要通过python脚本来实现。通过类似odb.steps['Step-1'].frames[-1].fieldOutputs['S']的场输出可以比较方便地直接获得单元的积分点应力,但没有直接的API可以获取节点的应力应变等结果。
如果需要获取部件表面节点应力,可以通过创建路径+XYData的方式实现,但想要获得最大节点应力,则该方式不便实现。
2. 通过python脚本获取节点应力结果
本文通过fieldOutput.getSub()函数获取所有单元的节点结果,并对每一节点关联的多个单元的节点值进行平均后得到节点的结果。以下以某个简单的odb结果进行验证。
(1)批量获得节点的mises应力值
(2)批量获得节点的X方向正应力值
(3)批量获得节点的最大主应力值
(4)获取节点的最大mises应力及编号
3. 获取节点应变等结果
只需将脚本程序中的应力场改为应变成E等即可,此处不再演示。
内容简介:本文的python脚本代码(代码中作了必要的简单注释)