24小时热门版块排行榜    

查看: 2110  |  回复: 3

ruizi_soda

新虫 (初入文坛)

[求助] Python脚本如何提取ODB的ELMENT NODAL上的应力结果

写的脚本做参数分析,后处理通过循环找到了最大的主应力MaxPrincipalStress,并自动写入文本中。
但是得到的都是积分点integration point的值,我想要的是单元节点element nodal 应力值,即插值以后的。
对Python 在ABAQUS中的应用不太熟悉,尝试了很久,各种不同方法,仍然无法获得,以下是某次尝试代码:

stress=frame.fieldOutputs['S']       
centerArea=odb.rootAssembly.nodeSets['SET-BC-SymmX']   #子区域搜索定义
centerStress=stress.getSubset(region=centerArea, position=ELEMETN_NODAL)

运行则显示ELEMENT_NODAL这项参数有误,改成INTEGRATION_POINT则可以获得积分点结果。
尝试了多次,也一项项输出所有frame.fieldOutputs['S']        的信息查看过,还是不太理解为什么无法提取节点上的应力。

我确信肯定有方法自动提取节点的应力值,毕竟后处理GUI的“查询”可以直接得到节点应力的值,但脚本这里的问题出在哪里呢?
请各位高手指导一下,谢谢了!
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ruizi_soda

新虫 (初入文坛)

补充一下: 如果不定义region 输出的结果默认为积分点的计算结果
补充: 寻找最大主应力的代码是参考曹金凤博士《Python语言在ABAQUS中的应用》的例子:
for stressValue in centerStress.values:
if (not maxValue or stressValue.maxPrincipalstress>maxValue.maxPrincipalstress):  
maxValue=stressValue

print maxValue
输出结果为积分点的最大主应力值,如何输出节点上的呢?
2楼2018-12-25 00:57:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

东大明哥

至尊木虫 (著名写手)

明明可以靠脸吃饭,,但是我却要努力工作,我就是明明
3楼2018-12-25 07:34:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ruizi_soda

新虫 (初入文坛)

4楼2018-12-26 09:00:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ruizi_soda 的主题更新
信息提示
请填处理意见