首页/文章/ 详情

告别TUI命令!PyFluent让Fluent仿真效率直接起飞

3月前浏览1318


大家好,我是小郭老师,毕业于中科院,在仿真软件二次开发方面有着一定的经验,今天给大家分享ANSYS Fluent二次开发方面的干货。


一、为什么要用PyFluent

这两天收到一个学员的私信,说用TUI命令控制Fluent太麻烦了,问我能不能用Python来搞。

答案是,当然可以。自Ansys 2023 R1开始,Ansys Fluent的内置控制台支持Python命令,这让在Fluent内部控制台使用PyFluent成为了可能。


二、开启Fluent Python Console

首先,Fluent控制台默认支持的是TUI/Scheme命令,Python Console目前还处于beta测试阶段,默认是关闭的,所以得在Fluent的启动器里手动开启。

注意:只能单独打开Fluent才能启用Python Console模式,如果是在Workbench里启动Fluent,是没有这个Beta选项的。

还有个好消息,Fluent Python Console是内置功能,不需要额外安装或调试,已经写好的Python脚本也能直接在上面运行。

image-20260510203435-77px485.png

image.png

三、PyFluent基础使用

3.1 查看Python版本

开启之后,就能在控制台用PyFluent命令了。不同ANSYS版本对应的Python版本不一样,用help()命令就能查看,很方便。

image.png

3.2 代码补全功能

更爽的是,还能设置代码补全,不用写完整代码,大大提高写代码的速度。我试了一下,效果真的挺好的。

image.png

效果如下图所示

image.png

3.3 常用命令示例

给大家举几个常用的例子:

激活能量方程:

solver.setup.models.energy.enabled = True

从库里copy流体:

solver.setup.materials.database.copy_by_name(type="fluid", name="water-liquid")

设置单元区域:

solver.setup.cell_zone_conditions.fluid["fluid1"].material = "water-liquid"

设置边界条件:

solver.setup.boundary_conditions.velocity_inlet["inlet"].vmag.value=5
solver.setup.boundary_conditions.velocity_inlet["inlet"].t.value=300

初始化流场:

solver.solution.initialization.hybrid_initialize()

计算迭代:

solver.solution.run_calculation.iter_count = 150
solver.solution.run_calculation.iterate()

3.4 命令辅助功能

对于不熟悉的命令,可以传入空值以查看默认值或利用代码补全功能。

image.png

此外,使用help()可以查看函数或模块用途的详细说明。

而且切换到Python Console后,如果需要用TUI命令,用solver.tui照样能用,兼容性很好。


四、脚本录制与转换

不过说到脚本,我得吐槽一下TUI脚本。看着挺简单的东西,写起来是真麻烦,一堆逗号,毫无逻辑性。以前只能在Fluent里一边操作,一边打开记事本手工敲逗号,过程繁琐还容易出错。

接下来介绍几种自动化脚本生成方法。

4.1 录制TUI脚本

Fluent本身提供了脚本录制功能,但有个问题:如果是GUI操作,录出来的都是一堆cx-gui-do函数,只能在Fluent GUI环境下用,没啥意义。

不过如果是TUI操作,录出来的就是真的TUI脚本,比手工写靠谱多了。

具体步骤:

1. 启动Fluent

2. 点击菜单Flie → Write → Start Journal...,在打开的文件选择对话框中指定保存的脚本文件名

3. 在Fluent控制台窗口输入TUI命令(只需要输入命令即可,后面的参数按照屏幕提示输入),如下图所示:

image.png

4. TUI执行完后,点击菜单File → Write → Stop Journal自动保存脚本文件

录出来的脚本如下所示:

/file/set-tui-version "25.1"
/file/read-case "pipe.msh.h5" 
/define/models/energy? no 
/define/models/energy? yes no no no no 
/define/boundary-conditions/velocity-inlet cold-inlet no no yes yes no 3 no 0. no 320 no no yes 4 8 
/define/boundary-conditions/velocity-inlet hot-inlet no no yes yes no 5 no 0. no 480 no no yes 5. 10 
/solve/initialize/hyb-initialization 
/solve/iterate 120 
/file/write-case-data "pipe_result.cas"

4.2 录制Python脚本

在新版本的Fluent里,还能录制Python脚本,这样就能直接在PyFluent环境中用了。

主要步骤:

1. 启动Fluent

2. 在TUI窗口输入 (api-start-python-journal "pyfluent_jou.py"),如下图所示:

image.png

3. 在TUI窗口输入并执行TUI命令(也能直接读入准备好的jou文件)

4. 运行完后输入 (api-stop-python-journal)

录出来的脚本文件内容很清晰,比如这样:

image.png

如果在Fluent中启用了Python console,上面录的代码还能通过菜单File → Read → Journal...读取并执行。要是装了pyfluent,把setup_for_fluent改成fluent_launch函数会更直观。

4.3 脚本转换

TUI脚本还能通过pyfluent中的launch_fluent函数转换成Python脚本。

用下面这段程序就行:

image.png

转换后的代码也挺清晰的,不过要注意,自动转换有时候会有问题,比如迭代计算、保存case和data文件等操作可能转换得不对,实际用的时候得仔细检查一下。


五、总结

说实话,我刚开始接触PyFluent的时候也有点懵,觉得这玩意怎么这么复杂。

但用了一段时间后发现,一旦上手,效率提升真的不是一点半点。以前写TUI脚本要半天,现在用Python,逻辑清晰,调试也方便。

如果你也在为Fluent的自动化烦恼,不妨试试PyFluent。从录制脚本开始,慢慢熟悉命令,相信很快就能上手。

在使用过程中遇到代码报错、需求调整等问题,欢迎在评论区留言,我会一一解答。后续还会分享更多ANSYS二次开发的实战技巧,敬请关注。


点击阅读原文,立即学习《ANSYS Workbench & Mechanical企业级二次开发程序与Python应用入门进阶》,掌握ANSYS Workbench & Mechanical的脚本自动化开发能力。

本课程从基础脚本开发到多工况批量计算的自动化实现,手把手教你用Python打通「仿真流程自动化 - 多工况批量计算」全链路,让「重复仿真工作自动化、复杂工况高效计算」从想法变成日常。

我还为付费用户提供VIP群进行交流、答疑服务持续加餐内容、提供定制化培训和咨询服务仿真人才库高薪内推就业、仿真秀还提供奖学金、学完此课程,推荐学习者报名参加工程仿真技术(CAE分析职业能力等级评价证书)。

image.png


 


Fluent MeshingFluent网格处理二次开发代码&命令求解技术
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-05-11
最近编辑:3月前
小郭老师
硕士 小郭老师,精通ANSYS开发
获赞 145粉丝 43文章 32课程 2
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈