- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章 UDF的编译与链接
编写好UDF件(详见第三章)后,接下来则准备编译(或链接)它。在7.2或7.3节中指导将用户编写好的UDF如何解释、编译成为共享目标库的UDF。
_ 第 7.1 节: 介绍
_ 第 7.2 节: 解释 UDF
_ 第 7.3 节: 编译 UDF
7.1 介绍
解释的UDF和编译的UDF其源码产生途径及编译过程产生的结果代码是不同的。编译后的UDF由C语言系统的编译器编译成本地目标码。这一过程须在FLUENT运行前完成。在FLUENT运行时会执行存放于共享库里的目标码,这一过程称为“动态装载”。
另一方面,解释的UDF被编译成与体系结构无关的中间代码或伪码。这一代码调用时是在内部模拟器或解释器上运行。与体系结构无关的代码牺牲了程序性能,但其UDF可易于共享在不同的结构体系之间,即操作系统和FLUENT版本中。如果执行速度是所关心的,UDF文件可以不用修改直接在编译模式里运行。
为了区别这种不同,在FLUENT中解释UDF和编译UDF的控制面板其形式是不同的。解释UDF的控制面板里有个“Compile按钮”,当点击“Compile按钮”时会实时编译源码。编译UDF的控制面板里有个“Open按钮”,当点击“Open按钮” 时会“打开”或连接目标代码库运行FLUENT(此时在运行FLUENT之前需要编译好目标码)。
当FLUENT程序运行中链接一个已编译好的UDF库时,和该共享库相关的东西都被存放到case文件中。因此,只要读取case文件,这个库会自动地链接到FLUENT处理过程。同样地,一个已经经过解释的UDF文件在运行时刻被编译,用户自定义的C函数的名称与内容将会被存放到用户的case文件中。只要读取这个case文件,这些函数会被自动编译。
注:已编译的UDF所用到的目标代码库必须适用于当前所使用的计算机体系结构、操作系统以及FLUENT软件的可执行版本。一旦用户的FLUENT升级、操作系统改变了或者运行在不同的类型的计算机,必须重新编译这些库。
UDF必须用DEFINE宏进行定义,DEFINE宏的定义是在udf.h文件中。因此,在用户编译UDF之前,udf.h文件必须被放到一个可被找到的路径,或者放到当前的工作目录中。
udf.h文件放置在:
path/Fluent.Inc/fluent6.+x/src/udf.h
其中path是Fluent软件的安装目录,即Fluent.Inc目录。X代表了你所安装的版本号。
通常情况下,用户不应该从安装默认目录中复制udf.h文件。编译器先在当前目录中寻找该文件,如果没找到,编译器会自动到/src目录下寻找。如果你升级了软件的版本,但是没有从你的工作目录中删除旧版本的udf.h文件,你则不能访问到该文件的最新版本。在任何情况下都不应该改变udf.h文件。
7.2 UDF解释
这一节介绍编译经过解释的UDF的步骤。一旦经过解释的UDF被编译,用户自定义的C函数的名称与内容将会被存放到case文件中。只要读取这个case文件,这些函数便会自动被编译。
编译被解释的UDF的一般程序如下:
1. 如果用户没有在网络Windows计算机上使用并行的FLUENT版本,则需要确定UDF的C源码和case文件与当前工作目录一致。具体步骤见7.2.2节。
! 如果源码不在当前工作目录,则用户编译UDF时,用户必须在解释UDF的控制面板里输入文件的完全路径,而不是只输入文件名。
2. 在当前工作目录下运行FLUENT。
3. 读取(或建立)case文件。
4. 打开“Interpreted UDFs panel”,编译UDF(如vprofile.c)。
图7.2.1 解释的UDF的控制面板
(a) 在“Source File Name”下输入C源码的文件名(如vprofile.c)。
! 如果自定义的C源码不在工作目录中,用户必须输入完全的自定义的C函数路径。
当写入case文件时,自定义源码的名称(或源码的完全路径)会存放到case文件中。
(b) 在“CPP Command Name”指定为C的预处理程序。当然也有其它有效的ANSI C预处理程序,包括gcc -E和cc –E。详细检查所用的计算机系统管理。
(c) 如果自定义函数局部变量数不引起栈的溢出,则保持“Stack Size”的默认值为1000。此时,所设 “Stack Size” 的数要远远大于局部变量用的数。
(d) 选择“Display Assembly Listing”,则当函数编译汇编码的清单会出现在窗口的控制台内。这一选项会保存于case文件,当用户接着运行FLUENT时汇编码会自动显示。
(e) 如果用户使用“Fluent Inc”提供的C预处理程序,选择“Use Contributed CPP
您可能关注的文档
- 水轮机调节的基本概念与微机调速器讲座9.ppt
- 四年级数学含有括号混合运算.ppt
- 苏教版选修4第4节 金属的腐蚀与防护.ppt
- 第一章世界的物质性与其发展规律1.ppt
- 暴力袭警和警察执法权益保障问题研究.doc
- 第一篇 磁路.ppt
- 第一篇 基础-aa.ppt
- 比亚迪S6车友支招行车记录仪该如何选购与安装(详细).doc
- 必修部分 第九章 人和生物圈 章末质量检测.doc
- 必须了解jsp知识.doc
- 专题04 天气与气候(期末真题汇编,广东专用)(解析版).docx
- 专题04 中国的经济发展(百题精选)(期末真题汇编)(原卷版).docx
- 专题05 建设美丽中国(专项训练)(原卷版).docx
- 专题05 建设美丽中国(专项训练)(解析版).docx
- 专题05 居民与文化 发展与合作(百题精选)(期末真题汇编)(解析版).docx
- 2024年下半年教师资格考试中学《教育知识与能力》真题(含答案和解析).docx
- 专题05 居民与文化 发展与合作(百题精选)(期末真题汇编)(原卷版).docx
- 专题05 居民与文化 发展与合作(期末真题汇编,广东专用)(解析版).docx
- 专题05 居民与文化 发展与合作(期末真题汇编,广东专用)(原卷版).docx
- 统编版七年级语文上册课件《雨的四季》.pptx
最近下载
- HGT 22820-2024 化工安全仪表系统工程设计规范 培训.pdf
- 重庆市小型水库放水设施现状及其研究展望.pdf VIP
- 购买梅花鹿合同协议书6篇.docx VIP
- 2024人教鄂教版科学五年级上册每课教学反思(附目录).docx VIP
- 昆曲《牡丹亭》唱腔艺术解析.pdf VIP
- 中国普通流通纪念币完整目录(127枚)(1984年-2023年).pdf VIP
- 生物-安徽省六校2025届高三下学期2月素质检测考试试题和答案.pdf VIP
- 主厂房压型钢板屋面调研及技术改造.pdf VIP
- 设备设施完整性管理课件.pptx VIP
- CR340轧制差厚钢板微观结构对拉深成形性能的影响.pdf VIP
原创力文档


文档评论(0)