昨天说到了在ANSYS 2025R1版本中,Fluent与Rocky的耦合接口问题。后面我尝试对其进行修复,其中的问题非常多,一个接一个的问题,最后问题落到了已编译的UDF上面,game over了。
还是简单记录一下。
所有的工作都是围绕文件rocky_fluent_coupling.scm
开展的,该文件位于ANSYS安装路径下(如C:Program FilesANSYS Incv251rockyfluentudfs
中)。
首先从Fluent接口开始,其交互接口是在Fluent界面上增加了菜单项。至于为什么Fluent在读入case或mesh文件后菜单项会消失,目前情况不明,从代码中并没有发现任何会导致菜单项变灰的控制,而且我自己写了段简单的菜单加载代码,并不会因为Fluent读取外部文件而是其变成灰色,这个还有待进一步分析。
稳态数据导出菜单对应的函数名为one-way-steady-export
,如下图所示。

此函数在大约1329行的位置,其内容如下所示(这里为了方便理解,加入了代码注释)。

最后三个函数功能为加载UDF,调用UDF,卸载UDF。这里主要是UDF调用函数rocky-steady-export-info
,其定义在1319行,内容为:

其主要做了两件事情:
-
利用函数 export-zone-names
导出区域的名字 -
利用TUI命令 /define/user-defined/execute-on-demand
执行UDF宏rocky_fluent_export_steady::one_way_transient
其中export-zone-names
函数写出区域的名称,其内容比较简单。

而UDF宏rocky_fluent_export_steady::one_way_transient
则放置在文件夹25.1.0one_way_transient
中,且已经编译成dll文件了。

这里在测试的时候,当导入case或mesh后,可以重新读取rocky_fluent_coupling.scm
,这样菜单又可以选择了。
当Fluent中流场计算完毕后,可以选择菜单Rocky Export → Export one-way data → Export Current data to Rocky
导出f2r格式的数据,用于在Rocky中进行单向耦合计算。

然后错误提示是下面这样式儿的。

从图中可以看到,export-zone-names
函数是执行完毕了的(因为输出了结束信息,图中标记1所示),所以问题出现在UDF执行上。
然而UDF已经被编译成了dll,现在没有什么好办法可以将dll反编译成c文件,所以game over了。
没时间折腾了,放弃治疗算了。
不过Rocky与Fluent的双向耦合可以正常进行,如果非要做单向耦合的化,可以尝试使用Rocky中的LBM耦合。
(完)

本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册