版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、FLUENT UDF中关于动网格的 DEFINE宏均要求为编译型。FLUENT的UDF运行环境有两种:解释型与编译型。虽然两种方式都是采用编译,但是编译方式及编译后获得的结果是不同的。编译型 UDF需要通过Complied 进行编译,编译后得到相应的dll文件。而解释型UDF则是通过Interprete 进行加载,不会生成 dll文件。据我的直觉,编译型 UDF可能利 用了钩子函数的技术。、编译型UDF与解释型UDF的差异(翻译自 UDF手册)1、解释型UDF一个精简的平台都能被作为编译型 UDF使用不需要C编译器(利用FLUENT自身的编译器)比编译型UDF反应慢在方法方面受到较多的限制无法
2、被链接到编译系统或其它库只能使用预定义宏访问存储于ansys fluent中的数据2、编译型UDF比解释型UDF反应迅速没有诸多C语法限制能够使用其它语言编写的函数当具有一些解释型 UDF不能处理的功能时,无法作为解释型UDF使用3、选取原则对于小型的、简单的功能,使用解释型 UDF复杂功能使用编译型 UDF。(如具有较大的 CPU开销、需要访问公共库)二、配置UDF编译环境对于编译型UDF ,在fluent中加载时,需要调用C编译器将其编译成 DLL文件。这里的C 编译器虽说理论上是没有任何限制的,但是在 windows 环境下还是推荐使用microsoftvisual c+ ,在linux
3、环境下推荐使用 GCC。我们这里只说 windows 环境下编译环境的配 置问题。visual c+ 最高版本是 6.0,再往后就是 microsoft visual studio7.0 、8.0、9.0、10.0。其 中 7.0 对应 microsoft visual studio2003,8.0 对应 2005 ,9.0 对应 2008 ,10.0 对应 2010 。在一些老版的fluent中,通常需要配置环境变量。配置环境变量的方法,网络上很多,可 以搜索。这里讲的是通过修改udf.bat文件来配置编译环境。在fluent 12.0之后的版本中,可以通过修改udf.bat文件的方式进行编
4、译环境配置。该文件位于xxANSYS Incv140fluentntbinwin64目录下。本人安装的 fluent 是 64bit 的,版本为14.0。不同版本的fluent ,该文件所处的位置可能不同。大家可以利用 windows的文件搜 索功能寻找该文件。注意若是安装了icepak ,则会有两个udf.bat文件,一定要注意我们只针对fluent目录下的该文件。我们用记事本打开此文件,由于本机上安装的是microsoft visual studio 2010,因此只需J eaTio off2 remr&rrL MS Visual C+4 rem 一set M5VC= set MS
5、VC VERSIOM=0n89 喟 jK1112要关注图中橙色线框中的部分。eaho t-rying 匚口 find MS C coirpiler, versian 100.set MSVC DEFAULT=- J',、.;£;: Micro3oft Vrsiial Studio 10. flif exists *%M5VC_DEFAULT!tVCv(jvaraall * trat" set M5VU= HSVC DEFAU LT % if not rr -iIS,7f>n,= "b goto msvc_envl00二一 echo trying 匚口
6、 find. M5 C compiler, version 9.,.«i r,Vset MSVC_DEFAULT=71': 1 _ :.i?i3) XMlcrosoft Visual Suudlo 9. Qif exist *tMSVDEFAULT%WCVvcvarsall .bat* set MSVO %M£VC_DEFAU LT % i f not nn = k"msTTC envSO现在来分析橙色框中的语句。有过DOS经验的人可能嫌我罗嗦,不过我还是要说一下。因为现在有DOS经验的人越来越少了。(1)第8行:echo是dos中助于在屏幕上写出一段文本
7、。这与 c语言中的printf , c#中 的Console.WriteLine , JAVA中的System.Print的功能是一样的, 只是在屏幕上打出后面 一段文字,我们可以忽略了。(2)第10行:设定 MSVC_DEFAULT的值。其实是一个赋值语句。容易理解。一会儿需 要动它。(3)第11行:if exist是判断,判断后面的 vcvarsall.bat文件是否存在,若存在,则设置 变量MSVC的值。(4)第12行:判断MSVC是否为空,若不为空,则进入 msvc_env100 标记行。找到该 标记行,其内容位于 8689 行。该标记行的内容为:(1)设定msvc_version 为
8、100 (2) 调用vcvarsall.bat文件,利用amd64 ,因为我安装的fluent版本是64bit ,若32bit版本 会有所不同。(5)跳转到 ms_c_end行,该行是一个结束标记行。z:S :wisve envlOD set call,cVCvcvai5all .bat11 4goto ms_c_end看起来复杂,其实人们要做的工作很少。用户所要做的仅仅是修改第10行的内容。修改microsoft visual studio的安装路径。若 vc是全默认安装,则什么都不需修改,否则改为正确的路径。如本机的microsoft studio 安装在d:program files目录
9、下,只需将第 10行修改为:set MSVC_DEFAULT=D:Program FilesMicrosoft Visual Studio 10.0就可以了。剩下要做的工作是:在fluent 启动面板中勾选Environment 标签页下的setupcompilation Environment for UDF 选项。该选项默认是选中的,且不同的版本该选项所处的位置可能有所不同。3 FLUENT Launcher_=J_S - w|三、总结配置12.0以上fluent UDF 编译环境,需要进行的工作:(1)找到fluent安装目录下的udf.bat文件版本的路径(2)打开udf.bat文件,
10、修改对应本机安装的microsoft visual studioOK 了!这种方式配置 UDF编译环境不需要考虑计算机的操作系统。自从接触流体计算,笔记本、服务器处理了三四台之多,但每一次安装及编译都出现问题,每一次都至少耗费我两天功夫,可能,你在安装编译udf的过程中也会遇到一下问题,但不要着急不要担心,绝对会有解决的办法,我不推荐动不动就冲装系统,那个没必要,很多是冲装完系统,再安装软件还是出现同样的问题,这样就得不偿失了, 在这里把我遇到的问题以及最后怎么解决的列出来与大家交流一下。对于各个软件的安装顺序推荐:exceed-gambit-ansys。因为这里主要讲fluent的问题,所以
11、,在安装ansys之前确保已安装过 office、vs,为什么要有office,之前看过一个解释的,现在 忘了,好像是office内的一个插件,vs要用到,而且最好装 office2007.我装的时候把vs2008 和2010都装了。每个软件具体的安装过程网上都有安装教程,问一下度娘就可以了。现在 用的一般都是14.5,15.0。安装过程非常简单,现在可能装完之后遇到许可过期的现象“ansysmultiphasic",把电脑上的时间改到2011年初就可以了。我在安装14.5时还遇到过一个问题就是在安装许可时,当我生成了许可文件,复制到制定的文件夹内打开的时候报错,我也没解决就放弃了
12、14.5,安装15.0.(也不能太钻牛角尖)。安装软件也就这些问题,哦,对 了,安15.0时如果你的安装目录不是c的话,在许可文件里要改到你的安装目录下面。然后就是fluent编译udf的问题:你遇到的也是网上谈的最多的就是" nmake,不是内部. 也不是外部 ”“xcopy,不是内部.也不是外部 ”,只要出现“不是内部。也不是外部。”应该就是环境变量的问题,因为只有你指定路径,系统才能找到那个文件进行编译。怎么修改环境变量网上有很多介绍的,我就说几个要注意的地方吧,一个是修改环境变量的时候要修改用户环境变量,不要在系统环境变量里面改,因为在系统环境变量里面容易 把原有的path给
13、改掉;在一个就是环境变量的值要全,网上有些只给了一个值,最好找最 多的那个照着改,因为多了不会出错。还有一个问题是"*.h"文件打不开,这个问题我也遇到了,应该也是环境变量的问题, 如果你没把环境变量建立完整,可能就会出现此问题。最后一个比较难搞的问题,也是我浪费的时间最多的就是下面这个:正在创建库 libudf.lib和对象libudf.expimp_Free_Storage_Vars,该符号在函_imp_T_derivatives ,该符号在函数imp_Scalar_Derivatives ,该符号在函_imp_Vof_Deriv_Accumulate , 该符号imp
14、_Scalar_Reconstruction ,该符号在_imp_Alloc_Storage_Vars,该符号在函PAW-TL-tl.obj : error LNK2019:无法解析的外部符号 数_my_adjust中被引用PAW-TL-tl.obj : error LNK2019:无法解析的外部符号 _my_adjust中被引用PAW-TL-tl.obj : error LNK2019:无法解析的外部符号 数_my_adjust中被引用PAW-TL-tl.obj : error LNK2019:无法解析的外部符号 在函数 _my_adjust中被引用PAW-TL-tl.obj : error LNK2019:无法解析的外部符号 函数_my_adjust中被引用PAW-TL-tl.obj : error LNK2019:无法解析的外部符号数 _my_adjust 中被引用PAW-TL-tl.obj : e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 游戏行业数据分析师面试全攻略
- 体育产业项目助理经理的职责与工作要求
- 毕业典礼最精彩演讲稿
- 2026年信息技术与网络安全知识普及试卷
- 青春奋斗工作分享演讲稿
- 迎接的二十演讲稿
- 2026年高考化学复习重点知识题型汇编:原电池与电解池的综合
- 2026年《体育社会学》复习考试题库及答案(含各题型)
- 我与父辈审美代沟演讲稿
- 演讲稿读书促你成长
- 药物外渗护理措施
- 痛经中医护理常规
- 小学科学实验室管理培训
- 《设计三大构成》全套教学课件
- 《危险化学品目录》(2026版)
- 2025年中级工业机器人系统操作员职业技能鉴定考试题库(共500题)
- 2025年引流管脱出应急预案试题
- Unit3RobotWeletotheunit课件牛津译林版(2012)九年级英语下册
- 物流企业股东合作协议书模板
- 三年级音乐下册第1课只怕不抵抗教案人音版
- 酒精安全测试题目及答案
评论
0/150
提交评论