ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果

ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果

Please Share Us

点击此处查看 ✿水哥原创ANSYS视频教程清单 ✿

水哥专属答疑服务已开通,点此此处查看详情

近日,水哥收到不少同学关于采用Workbench进行瞬态分析后提取数据的问题,今天就以本篇文章来解惑。

ANSYS数据后处理主要分为两大类:通用后处理和时间历程后处理,通用后处理也即处理固定时刻结构不同点位的情况,时间不动,结果查看位置变动;而时间历程后处理,则是处理不同时刻固定点位的情况,时间变动,结果查看位置不动。

我们在进行瞬态分析后,经常需要查看和提取不同点位的时间历程结果,例如位移变化曲线,应力、应变变化曲线,与经典界面采用APDL命令流相比,WB界面的时间历程后处理相对较为繁琐。

本文便以水哥WB2021初级教程中的简支梁移动荷载为例,来简述如何通过Python代码批量提取位移响应数据并输出文件。

首先阐述在WB后处理中如何一个点位的时间变化曲线。在WB时间历程后处理过程中,如果要查看一个点位的响应情况,可通过几何选择或者创建ns组然后选择ns组的方法来进行,确定点位后,评估结果,出来的曲线就是响应情况,如下所示。

ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果

点击旁边的Tabular Data,则可显示具体时刻的数值。

ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果 2

在表格数据范围,点击鼠标右键,在弹出来的选项中选择Export,即可将当前的数据导出,数据可存为txt,也可存为excel文件,导出的内容如下所示,但遗憾的是这里无论是否勾选Min,Max,Avg,默认都是将三列数据导出。

ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果 3

上述操作对于点位较少时,操作比较友好简单,但如果一旦查看的点位超过一定数值,那就是重复性操作,并且如果求解条件稍微改一下,那么数据又要重新来一遍,导出操作自然也要重新来一遍,费时费力,因而,适当的使用Python代码来进行批处理对数据点位比较多的情况非常有必要。

第一步:确定输出点位,由于采用脚本时,不可能通过手动来进行指定点位,这里的处理办法为根据用户输入的点位坐标,自动创建节点NS组,然后在后续评估结果的时候范围选择NS组即可。

相关代码如下:

ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果 4

上述代码运行后,即可创建一个名为Mynode的NS组,如下所示

ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果 5

第二步:进入后处理评估结果并导出,这里简单说下评估结果导出的脚本方法。

1)、进入后处理,添加结果及定义评估范围,相关代码如下所示:

ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果 6

运行上方代码后,即可生成相应的结果,如下所示:

ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果 7

    2)、在具体输出之前,首先介绍下数据文件的结构形式,上述代码中myrs对象包含了所有的结果数据,需要用plotdata打印出来。但此时这个对象里面并没有时程的概念,也即其保存的结果只有指定荷载步的结果,如下所示:

ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果 8

在结果输出对象中,第一列代表结果序号,第二列代表节点的编号,按从小到大排序,属于不变变量,第三列属于可变类型变量,代表具体的值,根据提取结果的类型变化而变化。我们要做的工作便是提取这个Value,提取代码如下:

ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果 9

最终提取的数值如下,可见上述代码能够准确提取具体的值。

ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果 10

    3)、根据第二步的操作,即可提取每个荷载步情况下的具体数值,然后保存到数组中,写出文件即可,但这其中就涉及到每个荷载步都需读取评估,非常耗时,水哥这里推荐一次性获取在所有荷载步的情况,然后在批量读取结果对象,这样速度会比较快,值得注意的是,为了方便后续绘制图形,还需写出对应的时刻,操作代码如下:

ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果 11

运行的结果如下,从结果可见,上述代码能够准确获取到该节点在每个时刻的响应数值。

ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果 12

第三步:获取到上述数据后,即可写出到文件,相关代码如下所示:

ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果 13

结果如下所示:

ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果 14

第四步:上述过程只是针对一个节点,如果有多个节点,则需要将上述过程封装一个函数CreateData,依次调用即可,在最后的处理方面,可以将所有数据都写到一个文件里面,也可以每个节点都写出一个文件,最后的代码如下所示:

ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果 15

最后的结果如下:

ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果 16

从上面可见,采用Python代码能够批量处理时程数据后处理,相比于APDL语法来讲,Python通俗易懂,其很容易调整格式,对输出处理比较友好,但同样的,需要学员掌握一定的脚本知识,关于脚本知识,推荐水哥的原创课程:

基于Python语言ANSYS WorkBench软件二次开发专题教程

本文源代码及配套的训练模型支付积分后即可下载:

欢迎扫描如下二维码关注本站微信公众号:ANSYS结构院

有时间麻烦帮忙点击下公众号文末的广告哦, 权当码字的辛苦费,感谢大家!

Please Share Us
ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果-峰设教育
ANSYS Workbench如何利用Python代码批量提取瞬态分析节点数据结果
此内容为付费资源,请付费后查看
20积分
付费资源
已售 2
© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容

YOU MAY LIKE…