首页/文章/ 详情

小田老师:实操Fluent二次开发工具和ACT插件(附视频 代码)

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家/独家讲师
平台推荐
主编推荐/内容稀缺
5月前浏览6461

导读:曾几何时,小田老师在仿真秀App撰文绝无仅有!我整理的132份Ansys ACT二次开发学习资料,引发了不少用户在后台留言索要资料,由于迁移,导致读者下载困难。请点击附件下载。
近日小助手获悉:小田老师原创并首发仿真秀官网和APP的SCDM二次开发52讲精品课已经获得了所有学员五星好评,其中加入VIP群用户即将突破100人。VIP用户提问已经整理相关文章《答疑 | ANSYS二次开发中常见问题汇总》,完整答疑PDF仅在群内分享
目前,小田老师正在筹备FLUENT二次开发精品课7月中下旬还将带来Fluent二次开发公开课,大家尽情期待。以下来自小田撰稿3个FLUENT二次开发工具和ACT插件(点击附件下载即可),希望对大家有所帮助。如有不当,欢迎批评指正。

一、自学XYPlot4Fluent绘图工具

大家都使用过Fluent中XY Plot功能,可以绘制出流场中的物理量分布曲线,但是曲线过于简陋(如下所示),有种巨丑无比的感觉,不适合结果展示和科研报告,而且图中各元素属性修改和保存也不方便。
图1 Fluent中的XYPlot曲线图
所以,对于Fluent中曲线图的展示,之前我都是先导出曲线数据,然后通过Python中的Matplotlib模块重新绘图出图,这样曲线图的逼格一下子就上来了。Matplotlib模块可以绘制出各种形式的曲线图或云图,绝对是数据可视化和仿真科研的工作中的利器。但是,手动导出曲线数据,然后激活Python环境,解析数据文件,然后调用Matplotlib模块绘制曲线图,需要打开多个程序,而且操作相对繁琐。
图2 Matplotlib中曲线图示例
小田老师作为一个“懒人”,当然是无法忍受这种不必要的人工操作,所以奋战无数个寂静的深夜,终于将Matplotlib中曲线绘图功能集成到了Fluent中,可以替代原生的XY Plot功能。
今天,就把这款ACT插件分享给大家:XYPlot4Fluent Ver1.0,插件可以实现在Fluent中调用Matplotlib模块快速绘制曲线图,效果如下:
图3 XYPlot4Fluent中曲线显示

插件获取方式



1、分享本篇文章到朋友圈、并截图

2、截图发送到后台即可获得下载链接

3、添加平台小助手邀请进二次开发软件交流群(不要催,人有点多)

插件详细介绍
XYPlot4Fluent插件的安装与使用的方法,可以参照如下视频:



image.png

接下来,给大家分享下XYPlot4Fluent插件实现的思路和方法:
首先,需要明确:ANSYS ACT是基于IronPython,而Matplotlib是基于CPython的,两者虽然语法相同,但是底层实现却不同,所以不能通过import模块包的方式调用。
在这里给大家分享一种可行的方法,对应步骤如下:
(1)曲线数据导出
首先,通过TUI命令,可以输出Line Surface对应的曲线数据data.xy至本地;输出数据操作对应的TUI获取过程和完整命令如下所示:

图4 TUI命令输出曲线数据

然后,在ACT中,可以通过IronPython脚本,传递TUI命令至Fluent执行,完成数据输出,如下所示。
图5 Fluent ACT中执行TUI命令
(2)数据解析绘图
输出的data.xy数据格式如下,首行为曲线标题,第二行分别为X、Y轴标签,第三行为图例


图6 曲线数据格式

使用CPython编写代码,实现解析data.xy中数据,然后使用Matplotlib模块绘制曲线图,代码如下:

图7 解析数据和绘制曲线
然后,使用argparse模块为程序代码提供命令行调用参数-f,代码如下:

图8 添加命令行调用

最后通过使用Pyinstaller模块将Python源代码,编译打包为XYPlotFluent.exe,后续我们通过CMD命令行执行:XYPlotFluent.exe -f [filename],就可以完成数据解析和展示。
(3)ACT封装调用采用ACT封装上述操作和工具,实现点击Generate Plot按钮后,首先完成步骤(1)输出曲线数据文件,然后通过subprocess模块,以批处理的形式调用XYPlotFluent.exe,并传入对应数据文件,实现整个集成调用的过程。
图9 Python命令行调用

二、批量导出Fluent云图技能

接着讲,在Fluent中输出多个云图时,需要不断点击鼠标切换云图显示和保存,操作太重复又琐碎。

小田老师作为一个“懒人”,当然无法忍受这种人肉的操作,所以随手写了一个如下的脚本方法:

脚本的代码逻辑如下:

  • 首先获得所有结构树中的后处理结果名称,赋值给all-objects变量;

  • 然后循环all-objects列表中的每个结果,输出到res-dir目录下。

代码执行完成后,成功将结构树中所有结果输出,文件名与结构树中的对象同名。

上述脚本的通用性和稳健性都很好,但是却不够定制化,目前存在如下三个问题:

  • 一次性输出所有的结果,无法选择输出选定的后处理对象;

  • 所有输出的云图的视角都相同,无法定制输出的相机视角;

  • 文件输出格式都相同,无法设置不同格式输出,如png和avz格式。

作为一个用户体验至上,又很喜欢“偷懒”的工程师,一气之下就开发了如下所示的ACT插件工具,完美满足了以上通用性和定制性的需求;经过连续几晚的功能测试和体验优化,现在用起来感觉可真香,明显感觉到工作效率的提升。

今天,就把这款ACT插件(适用于19.0~2021R2版本):ResultsExport4Fluent Ver1.0 分享给大家,插件可以实现Fluent中批量输出不同视角和不同格式的云图。


插件获取方式

1、分享本篇文章到朋友圈、并截图

2、截图发送到后台即可获得下载链接

3、添加平台小助手邀请进二次开发软件交流群(不要催,人有点多)

插件详细介绍

ResultsExport4Fluent插件的安装与使用的方法,可以参照如下视频:

image.png

三、多孔介质计算器V2.0上线!10秒即可设置模型参数

朋友们好!大家还记得吗,4月份我开发了一款多孔介质计算器,能快速拟合计算多孔介质域参数,详情可见往期文章《多孔介质计算器Ver1.0版介绍》

为了大家更方便快捷的设置多孔介质域模型,特将计算器进行了功能更新,V2.0版本在V1.0版本的拟合算法和核心功能的基础上,增加了两个新功能:PS:计算器获取方法见文末,欢迎各位朋友下载使用,多多在后台反馈使用建议~

新功能1:速度与压差数据的导入方式,提供外部csv文件和表格输入两种方式

新功能2:拟合计算得到的多孔介质参数,可以直接在ACT中指定流体域和设置孔隙率,更方便快捷(支持各向同性的参数输入设置)

这里分享一个非常关键的技术点,如何将Fluent中的流体域信息同步显示到ACT向导?

为大家提供一个思路作为参考:

  • 首先,获取Mesh或Case中所有流体域的名称,并写入到本地文件:"zoneinfo.db"中

  • 然后,通过ACT中的Python脚本读取本地文件,获取流体域的列表,类型为List[str]()

  • 接着,将列表设置到下拉框(control=“select”)的options属性中

  • 最后,非常重要一步就是需要更新“属性“组件的数据和刷新组件,才能成功加载显示,可以参考如下代码:

那么问题来了:如何读取并写入流体域名称呢?

这里就需要用到Fluent中的Scheme脚本,通过let-loop循环实现,代码如下:

忍不住夸赞一下,Scheme果然是最优美的语言!真是太香了!

最后,如何安装和使用多孔介质计算器呢?

可以观看以下视频了解详情:

image.png
多孔介质计算器V2.0获取方法:

点击文章附件下载

作者简介:小田老师,仿真秀科普作者

声明:原创作品,本文首发ANSYS仿真与开发,本文已授权,部分图片和内容源自网络,如有不当请联系我们,欢迎分享,禁止私自转载,转载请联系我们。

喜欢作者,请点在看 

附件

免费ANSYS二次开发学习包-小田老师.jpg
Fluent流体基础UDF二次开发代码&命令通用
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-06-18
最近编辑:5月前
仿真圈
技术圈粉 知识付费 学习强国
获赞 10228粉丝 21738文章 3589课程 222
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈