本文摘要(由AI生成):
本文总结了ABAQUS中利用Python脚本进行后处理数据提取的方法和步骤。文章介绍了如何利用面向对象编程思想编写Python脚本,并重点讲解了场变量和历史输出变量的提取方法。文章还提到了ABAQUS无法直接提取节点处的应力值,需要进行额外的插值算法处理。最后,文章鼓励读者参考文档进行更多物理量的提取,并希望这些简单说明能对读者有所帮助。
前面某期文章提到过ABAQUS中利用Python脚本进行后处理数据的提取,这个问题有必要做些讨论和总结。
在ABAQUS中,利用Python脚本做简单的处理是非常方便和易懂上手的,这里做简单介绍,参考帮助文档ABAQUS Scripting User's Guide 9.5:Reading from an output database,首先清楚后处理ODB的对象模型如图1所示,基于此我们可以利用面向对象编程思想进行Python脚本的编写。
图1 odb object models
我们知道在建立分析步的时候存在场变量和历史输出变量,这里首先针对场变量来讲解。首先假设对节点应力(S)/位移(U)做提取,可以看到fieldoutput输出情况,参考帮助代码:
for fieldName in lastFrame.fieldOutputs.keys(): print fieldName
需要注意的是,在场变量的输出状态下,参考文档可以看到下面的说明,也就是说应力值的提取是针对积分点的,而位移输出则针对节点。
S : Stress components Type: TENSOR_2D_PLANAR Position: INTEGRATION_POINT U : Spatial displacement Type: VECTOR Position: NODAL
以位移提取为例,整个参考代码如图2得到作者使用实例的节点号与合位移的输出结果:
图2 代码及结果
同样可以得到积分点处的应力值,但是有个问题,获得积分点的应力值之后,如何映射到节点上面,这个就需要额外的插值算法处理。所以是不是就可以理解为ABAQUS是不能直接提取到节点处的应力值的。
另外,针对historyoutput的提取,同样可以参考文档进行一步一步的编写,提取对应区域的物理量,大家可以尝试。
以上为针对Python对后处理中某些物理量提取的简单说明,抛砖引玉,希望对大家有用。祝大家周末愉快,多多支持转发,不介意仍碎银O(∩_∩)O~~~!