吾生有涯 学海无涯
析模有界 知识无界

Fluent UDF【15】:外部编译UDF

前面提到可以在vs提供的命令行界面编译UDF。见Fluent UDF【8】:编译型UDF。利用命令行形式编译UDF可以加载外部函数库,可以不用打开Fluent就可以编译UDF,还可以方便地调试UDF。

今天尝试了一下,发现了很多的问题。

在Fluent外部编译UDF的基本步骤:

  • 创建目录结构

    • 在case文件夹下创建libudf文件夹

    • 在libudf文件夹中创建两个文件夹,分别命名为src及win64

    • 在win64文件夹中创建文件夹2ddp

  • 将UDF源文件拷贝到src文件夹中

  • 将Fluent安装目录(如c:ANSYS Incv180fluentfluent18.0.0srcudf)下的user_nt.udf及makefile.udf文件拷贝到2ddp目录下

  • 修改user_nt.udf文件的内容

  • 修改makefile.udf文件名为makefile

  • 启动visual studio的win64工具提示命令进入命令行界面,采用cd命令进入到2ddp目录

  • 使用nmake命令进行编译

按道理来说事情应该能够解决,然而事情没那么简单。出现了N多的错误。

1

错误1

直接使用nmake后出现下图所示的错误。

错误提示:resolve.exe不是内部或外部命令。
用文本编辑器打开makefile文件,搜索resolve.exe。在第170行发现目标,如下图所示。

发现此行没什么大的作用,这个resolve也不知道哪里来的,搜索了整个电脑硬盘也没找到。干脆去掉这一行。

保存文件继续nmake编译。

2

错误2

真是祸不单行,又出错了。

错误提示:sed不是内部或外部命令,也不是可运行的程序。

搜索makefile文件,发现186行与190行用到了sed。

sed命令在linux下很常用,主要用于代码内文本替换。这fluent不厚道啊,windows版本还用linux下的工具。搜索了一圈也没发现sed藏在哪里。不过有替代措施,上网下载一个windows下的sed试试先。

windows版本的sed软件下载地址:https://sourceforge.net/projects/gnuwin32/files/sed/4.2.1/

下载完毕后安装。安装完毕后修改makefile文件的这两行,如下图所示,将完整的sed路径添加进去。

再次执行nmake,完整通过。

最近关注的人越来越少了,都跌到个位数了。每天新关注的人还没有取消关注的人多,真悲剧~~

本篇文章来源于微信公众号: CFD之道

赞(3) 打赏
版权声明:未经允许,请勿随意用于商业用途。
文章名称:《Fluent UDF【15】:外部编译UDF》
文章链接:https://www.topcfd.cn/783/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到

说两句 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者吧

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册