- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用户自定义函数 UDF 用户自定义函数 用户自定义函数或UDF 是用户自编的程序它可以被动态的连接到Fluent 求解器上来提高求解器性能用户自定义函数用C 语言编写使用DEFINE 宏来定义UDFs 中可使用标准C 语言的库函数也可使用预定义宏Fluent Inc.提供通过这些预定义宏可以获得Fluent 求解器得到的数据 UDF分类与区别 UDFs 使用时可以被当作解释函数或编译函数 解释函数在运行时读入并解释 编译UDFs 则在编译时被嵌入共享库中并与Fluent 连接 解释UDFs 用起来简单但是有源代码和速度方面的限制不足。编译型UDFs 执行起来较快也没有源代码限制但设置和使用较为麻烦 UDF的用途-满足用户个性化需求 边界条件 材料性质 表面与体积反应速率 输运方程源项 用户标量输运方程(UDS) 调节每次迭代值 初始化流场 异步执行 后处理改善 模型改进(离散项模型,多相混合物模型,辐射模型等) UDF举例 Profile处理 Profile处理要点 (和一般计算一样设置求解器,模型等) Define-Profile-Read (数据) Define-BoundaryCondition-所需设置的面-Thermal-Temperature-Temp t (和一般计算一样,设置其它边值条件、初值条件及求解与结果检查等) UDF处理温度 UDF设置边界温度处理要点 (和一般计算一样设置求解器,模型等) Define-User defined-Functions-(Interpreted Or Compiled)-编译 Define-BoundaryCondition-所需设置的面-Thermal-Temperature-Bottom Temperature (和一般计算一样,设置其它边值条件、初值条件及求解与结果检查等) 侧面与地面两处UDF 定义一个以上UDF UDF编写 边界温度分布 场温度分布 UDF编写-用C语言 注释 /* 这是刘某人讲课示范用的程序 */ 数据类型 Int:整型 Long:长整型 Real:实数 Float:浮点型 Double:双精度 Char:字符型 UDF解释函数在单精度算法中定义real类型为float型,在双精度算法宏定义real为double型。因为解释函数自动作如此分配,所以使用在UDF中声明所有的float和double数据变量时使用real数据类型是很好的编程习惯。 局部变量 局部变量只用于单一的函数中。当函数调用时,就被创建了,函数返回之后,这个变量就不存在了,局部变量在函数内部(大括号内)声明。在下面的例子中,mu_lam和temp是局部变量。 FLUENT求解过程中UDFs的先后顺序 FLUENT 网格拓扑 单元(cell) 区域被分割成的控制容积 单元中心(cell center) FLUENT中场数据存储的地方 面(face) 单元(2D or 3D)的边界 边(edge) 面(3D)的边界 节点(node) 网格点 单元线索(cell thread) 在其中分配了材料数据和源项的单元组 面线索(face thread) 在其中分配了边界数据的面组 节点线索(node thread) 节点组 区域(domain) 由网格定义的所有节点、面和单元线索的组合 Fluent数据类型 cell_t face_t Thread Node Domain 使用DEFINE Macros定义UDF DEFINE_MACRONAME(udf_name, passed-in variables) 这里括号内第一个自变量是你的UDF的名称。名称自变量是情形敏感的必须用小写字母指定。 一旦函数被编译(和连接),你为你的UDF选择的名字在FLUENT下拉列表中将变成可见的和可选的。第二套输入到DEFINE 宏的自变量是从FLUENT求解器传递到你的函数的变量。 DEFINE_PROFILE(inlet_x_velocity, thread, index) 用两个从FLUENT传递到函数的变量thread和index定义了名字为inlet_x_velocity的分布函数。这些passed-in变量是边界条件区域的ID(作为指向thread的指针)而index确定了被存储的变量。一旦UDF被编译,它的名字(例如,inlet_x_velocity)将在FLUENT适当的边界条件面板(例如,Velocity Inlet面板)的下拉列表中变为可见的和可选的。 UDF源文件中包含udf.h文件 #include udf.h 通过在你的UDF源文件中包含udf.h,编译过程中所
您可能关注的文档
- 一年级数学下册第三单元《分类与整理》第一课时课件解析.ppt
- 应用光学基础解析.ppt
- 一年级数学下册分类和整理第一课解析.ppt
- 应用光学课件解析.ppt
- 应用光学序章解析.ppt
- 一年级数学下册分类与整理解析.ppt
- 一年级数学下册分类与整理说课稿解析.ppt
- 应用宏观生态学模型研究黑河流域植被解析.ppt
- 应用回归整理课后习题参考答案解析.doc
- 应用计量经济学第7章解析.ppt
- 《财政支持城乡义务教育一体化问题研究》.docx
- 《自体红骨髓及其不同成分复合PCPC修复兔桡骨缺损的实验研究》.docx
- 《腹腔镜手术中不同通气策略对患者肺功能及炎症反应的影响》.docx
- 《专家社区坐诊对提高社区2型糖尿病管理达标效果评估》.docx
- 《右美托咪定辅助低浓度硬膜外麻醉在椎间孔镜手术中的临床应用》.docx
- 《基于现金流的DJ公司财务风险管理研究》.docx
- 《论我国《民法典》中的居住权制度》.docx
- 《近红外稀土掺杂上转换发光材料的制备及应用研究》.docx
- 《养心汤治疗冠心病室性期前收缩(气血不足型)的临床疗效观察》.docx
- 高考历史一轮复习社会主义基本制度的建立提升练.docx
文档评论(0)