阳光石油网|石油技术交流|石油人论坛

 找回密码
 欢迎注册
查看: 3590|回复: 3

[原创分享] Fluent:在64位操作系统中编译UDF

[复制链接]
  • TA的每日心情
    擦汗
    2015-5-8 10:11
  • 签到天数: 193 天

    [LV.7]常住居民III

    发表于 2013-7-3 22:03:27 | 显示全部楼层 |阅读模式

    马上注册,下载丰富资料,享用更多功能,让你轻松玩转阳光石油论坛。

    您需要 登录 才可以下载或查看,没有账号?欢迎注册

    x
    本帖最后由 jinjunqing 于 2013-7-3 22:11 编辑

    工作站环境 win7 64bit, fluent 12.0, vc++6.0
    之前因为只定义边界条件的profileinterpret就足够了。现在需要mass transferudf,必须要compile。这个udf在自己的电脑(xp 32bit + fluent 12.0)运行正常,结果到工作站上compiling时居然提示fluent安装文件内<.\src><.\cortex\src>内某两个<.h>文件有语法错误。翻出两台电脑的这两个文件看,完全一样。

    网上搜了下,说是64位系统编译问题。于是卸了6.0改装visual studio 2010,装装卸卸23次,环境变量等各种改。后来不提示<.h>文件语法错误,开始出现<'nmake'不是内部或外部命令>之类的提示。

    于是继续搜,发现了这一篇。图文并茂,各步都很详细,很适合我这种菜鸟。经验证有效~
    补充:vs2010安装过程没有注册环境变量,至少默认安装是不会。之前搜的时候有人提到需要加这几个,于是最后一次安装好vs2010后,我还是加上去了。不过这篇文里面倒是没有提到,不知道具体有没有影响,暂时记录下先。(PS. vs2010用的是默认安装路径,如果不是,变量值里的路径是不同的。)
    INCLUDE
    C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include;
    LIB
    C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\x64
    PATH
    C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE;
    ~~~~~~~~~~~~~~~~~~~~ 全文zz备份  ~~~~~~~~~~~~~~~~~~~~
    编译环境microsoft visual studio2010fluent版本13.0,操作系统为windows 7 64bit
    测试代码采用UDF手册P394中关于边界条件的实例。
    1、解释型
    经测试,无需任何配置,甚至不需安装vs2010,也能顺利编译成功。
    2、编译型
    1)按照32位系统中相同的编译方式。出现如图2所示的错误提示,这通常是编译器未正确配置的原因。
    1.png
    2 错误提示
    提示找不到 nmake文件,我们需要将其路径放入环境变量的path中,以便于系统搜索。
    32位系统中解决办法:搜索nmake文件,将其所在路径添加至环境变量的path中。
    如图3所示,找到了两个nmake文件,我们将其路径全都加入到path中。
    2.png
    3
    两个nmake,其实我们只需要将第一个添加即可,但是为防万一,我们将两个路径全都加入到环境变量中
    然而在64位系统中问题依旧,如图4所示。编译时找寻不到nmake文件。原因在于我们采用的是64位系统。因此还需另寻它法。
    3.png
    4 依旧的问题,可能是操作系统导致的,因为我们在cmd中可以找到nmake
    2)解决方案
    打开开始菜单中的visual studio 2010,我们可以看到如图5所示的菜单。找到如图所示的x64 win64命令提示,点击运行它。
    4.png
    5 visual studio2010的菜单
    我们需要找到fluent的真正路径,即fluent.exe所在的路径。可以找到fluent的快捷方式,点击右键选择属性,可以看到图6所示的对话框。
    5.png
    6 记下框中fluent.exe的路径,后面的参数不需要
    好了,下面进入正题。我们从命令行中启动fluent,记住命令行是从图5中红框中启动的。如图7所示。注意引号一定不能去掉,否则会提示找不到路径。
    6.png
    7 启动fluent
    剩下的工作就没什么好说的了,与32位系统完全一致。编译后出现提示如图8所示。
    7.png
    8 编译及加载成功,大功告成
    这个UDF实例是关于抛物线速度入口的,我们可以查看结果,如图9,图10所示,图中可以看出与我们的UDF一致。
    8.png
    9 速度云图
    9.png
    10 入口位置速度沿Y分布
    3、结论
    1)由于解释型UDF并不需要编译器的存在,因此与操作系统并无关联,所以我们可以在64位系统中直接使用32位系统中编写的解释型UDF
    2)由于visual studio2010在安装时并不注册环境变量,因此我们需要将nmake.exe的路径添加至环境变量的path路径中。
    364位系统中,不能直接通过开始菜单中的fluent快捷方式启动fluent,然后在此fluent中编译UDF,会提示找不到nmake”
    4)通过visual studio 2011菜单中的x64命令提示启动命令行,然后在命令行环境中启动fluent,能顺利的编译UDF
    5)其他环境的fluent尚未测试,不过应该也是能够正确进行下去的。

    转自http://blog.sina.com.cn/s/blog_4a9195870100ydep.html

    该用户从未签到

    发表于 2013-7-3 23:04:08 | 显示全部楼层
    支持支持再支持
  • TA的每日心情
    擦汗
    2015-5-8 10:11
  • 签到天数: 193 天

    [LV.7]常住居民III

     楼主| 发表于 2013-7-4 08:07:36 | 显示全部楼层
    爱浪漫的 发表于 2013-7-3 23:04
    支持支持再支持

    谢谢支持,欢迎交流
  • TA的每日心情
    奋斗
    2017-9-11 10:44
  • 签到天数: 767 天

    [LV.10]以坛为家III

    发表于 2014-9-30 09:14:21 | 显示全部楼层
    谢谢分享啦
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 欢迎注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|阳光石油网 ( 鲁ICP备2021003870号-1 )

    GMT+8, 2024-5-22 08:27 , Processed in 0.062467 second(s), 22 queries .

    Powered by Discuz! X3.4 Licensed

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表