2022年fluent用户自定义函数 .pdf
《2022年fluent用户自定义函数 .pdf》由会员分享,可在线阅读,更多相关《2022年fluent用户自定义函数 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、FLUENT UDF 教程FLUENT UDF 教程第一章 . 介绍本章简要地介绍了用户自定义函数(UDF)及其在 Fluent 中的用法。在 1.1 到 1.6 节中我们会介绍一下什么是UDF ;如何使用 UDF ,以及为什么要使用UDF ,在 1.7 中将一步步的演示一个 UDF例子。1.1 什么是 UDF ?1.2 为什么要使用 UDF ?1.3 UDF的局限1.4 Fluent5到 Fluent6 UDF 的变化1.5 UDF基础1.6 解释和编译 UDF的比较1.7 一个 step-by-stepUDF 例子1.1 什么是 UDF ?用户自定义函数,或UDF ,是用户自编的程序,它可
2、以动态的连接到Fluent 求解器上来提高求解器性能。用户自定义函数用C语言编写。使用 DEFINE宏来定义。 UDF 中可使用标准 C语言的库函数, 也可使用 Fluent Inc. 提供的预定义宏, 通过这些预定义宏,可以获得 Fluent 求解器得到的数据。UDF使用时可以被当作解释函数或编译函数。 解释函数在运行时读入并解释。 而编译 UDF则在编译时被嵌入共享库中并与Fluent 连接。解释 UDF用起来简单,但是有源代码和速度方面的限制不足。 编译 UDF执行起来较快, 也没有源代码限制, 但设置和使用较为麻烦。1.2 为什么要使用 UDF ?一般说来,任何一种软件都不可能满足每一
3、个人的要求,FLUENT 也一样,其标准界面及功能并不能满足每个用户的需要。UDF正是为解决这种问题而来,使用它我们可以编写 FLUENT 代码来满足不同用户的特殊需要。当然,FLUENT 的 UDF并不是什么问题都可以解决的,在下面的章节中我们就会具体介绍一下FLUENT UDF 的具体功能。现在先简要介绍一下 UDF的一些功能:定制边界条件,定义材料属性,定义表面和体积反应率,定义FLUENT 输运方程中的源项,用户自定义标量输运方程(UDS )中的源项扩散率函数等等。在每次迭代的基础上调节计算值方案的初始化(需要时) UDF 的异步执行后处理功能的改善 FLUENT模型的改进(例如离散项
4、模型,多项混合物模型,离散发射辐射模型)由上可以看出 FLUENT UDF 并不涉及到各种算法的改善,这不能不说是一个遗憾。当然为了源代码的保密我们还是可以理解这样的做法的。其实, 如果这些代码能够部分开放,哪怕就一点点, 我想 FLUENT 会像 LINUX一样发展更为迅速, 使用更为广泛。 遗憾的是,从目前来看,这只是一种幻想。什么时候中国人可以出自己的精品?1.3 UDF 的局限名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - -
5、- 尽管 UDF在 FLUENT 中有着广泛的用途, 但是并非所有的情况都可以使用UDF 。 UDF并不能访问所有的变量和FLUENT 模型。例如,它不能调节比热值;调节该值需要使用求解器的其它功能。 如果您不知道是否可以用UDF 解决某个特定的问题, 您可以求助您的技术支持。1.4 Fluent5到 Fluent6UDF 的变化如果你有 FLUENT5 的 UDF编程经验,请注意在FLUENT6 种的下列变化:? FLUENT6中加入了大量的通用多相模型。When one of these general multiphase models is enabled, storage must
6、be set aside for the mixture as well as the individual phases. This functionality is manifested in the code through the use of additional thread and domain data structures. Consequently, some predefined macros have been added that allow access to data contained within mixture-level and phase-level d
7、omain and thread structures. See Section 3.11 for details on writing UDF for multiphase applications. If you have a FLUENT 5 UDF with an external domain declaration that you want to use in FLUENT 6, then the extern statement must be replaced by a call to the Get_Domain utility and assignment to a Do
8、main pointer as shown below. The Fluent-provided utility, Get_Domain(1), returns the pointer to the mixture-level domain. See Section 6.5.1 for more details on Get_Domain. Example extern Domain *domain; DEFINE_ON_DEMAND(my_udf) . is to be replaced by DEFINE_ON_DEMAND(my_udf) Domain *domain; domain =
9、 Get_Domain(1); . The macro C_VOF accesses volume fraction values from the FLUENT solver. C_VOF(c, pt ) has two arguments, c and pt. c is the cell identifier. pt is the pointer to the corresponding phase-level thread for the ith phase, where i is the phase_domain_index. For example, C_VOF(c,pt) can
10、be used to return the volume fraction of the ith phase fluid at cell c. The pointer pt can also be retrieved using THREAD_SUB_THREAD, discussed in Section 6.5.4, using i as an argument. ? For compiled UDF, the makefile called Makefile.udf that was provided in previous FLUENT releases has been rename
11、d to makefile.udf2. See Section 7.3.2 for more details. ? For multiphase flow problems, you will need to supply your own user-defined scalar flux function instead of using the default function provided by FLUENT. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8
12、 页 - - - - - - - - - ? DEFINE_PROPERTY is to be used to define UDF for particle or droplet diameter for the mixture model, previously the Algebraic Slip Mixture Model (ASMM), instead of the DEFINE_DRIFT_DIAM macro. 1.5 UDF基础? 1.5.1输运方程? 1.5.2单元( Cells ), 面,区域( Zones)和线( Threads)? 1.5.3操作? 1.5.4求解器数据
13、? 1.5.5运行1.5.1 输运方程FLUENT 求解器建立在有限容积法的基础上,这种方法将计算域离散为有限数目的控制体或是单元。网格单元是FLUENT 中基本的计算单元,这些单元的守恒特性必须保证。也就是说普通输运方程,例如质量,动量,能量方程的积分形式可以应用到每个单元:(1.5.1) 此处,是描述普通输运数量的变量(a general transportable quantity), 根据所求解的输运方程它可取不同的值。下面是在输运方程中可求解的的子集。Transport Equation Variable for continuity 1 x momentum velocity (
14、u) y momentum velocity ( v) z momentum velocity ( w) energy enthalpy ( h) turbulent kinetic energy k turbulent dissipation rate species transport mass fraction of species ( Y i) 守恒与否需要知道通过单元边界的通量。因此,需计算出单元和面上的属性值(properties)。1.5.2 单元( Cells ), 面,区域( Zones)和线( Threads)单元和单元面被组合为一些区域(zones),这些区域规定了计算域
15、(例如,入口,出口,壁面)的物理组成(physical components)。当用户使用 FLUENT 中的 UDF 时,用户的 UDF 可调用流体区域或是边界区域的计算变量(solution variables)。UDF需要获得适当的变量,比如说是区域参考(a zone reference)和单元 ID,以便标定各个单元。区域(A zone)是一群单元或单元面的集合,它可以由模型和区域的物理特征(比如入口,出口,壁面,流体区域)来标定。例如,一些被指定为面域(a face zone )的单元面可以被指定为velocity-inlet 类型,由此,速度也就可指定了。线(A thread )是
16、 FLUENT 数据结构的内部名称,可被用来指定一个区域。Thread 结构可作为数据储存器来使用,这些数据对于它所表示的单元和面来说是公用的(The Thread structure acts as a container for data that is common to the group of cells or faces that it represents)。1.5.3 操作名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - -
17、- - 多数的 UDF任务需要在一个线的所有单元和面上重复执行。比如,定义一个自定义轮廓函数( a custom profile function)则会对一个面线上( in a face thread)的所有单元和面进行循环。为了用户方便, Fluent Inc.向用户提供了一些循环宏工具(looping macro utilities)来执行对单元,面,节点(nodes)和线( threads )的重复操作。例如,单元循环宏( Cell-looping macros )可以对给定单元线上的所有单元进行循环操作( loop over cells in a given cell thread a
18、llowing access to all of the cells )。 而面循环宏 (Face-looping macros)则可调用所有给定面线 (a given face thread)的面。 Fluent 提供的循环工具请见Chapter 6 。在某些情况下, UDF 需要对某个变量操作, 而这个变量恰恰又不能直接被当作变量来传递调用。比如,如果用户使用DEFINE_ADJUST宏来定义 UDF ,求解器将不会向它传递thread 指针。这种情况下,用户函数需要用Fluent 提供的宏来调用线指针(thread pointer )。见 Chapter 6 。1.5.4 求解器数据通过
19、 FLUENT 用户界面将 C 函数(它已被编译和连接) 连接到求解器上可实现调用求解器变量。一旦 UDF和求解器正确连接, 无论何时, 函数都可调用求解器数据。 这些数据将会被作为用户变量自动地传递给UDF 。注意,所有的求解器变量,不管是求解器传递给 UDF的,还是 UDF传递给求解器的,都使用SI 单位。1.5.5 运行UDF将会在预定时刻被FLUENT 调用 。但是,也可对它们进行异步执行,使用DEFINE_ON_DEMAND宏,还可在需要时( on demand)执行。详情请见4.2.3 1.6 解释和编译 UDF的比较编译 UDF和 FLUENT 的构建方式一样。脚本Makefil
20、e 被用来调用 C编译器来构建一个当地目标代码库( a native object code library)。目标代码库包含高级C语言源代码的机器语言翻译。代码库在FLUENT 运行时由“动态加载”(dynamic loading)过程连接到 FLUENT 上。连接后,与共享库的联系(the association with the shared library) 将会被保存在用户的case 文件中 , 这样,当 FLUENT 以后再读入 case 文件时,此编译库将会与 FLUENT 自动连接。这些库是针对计算机的体系结构和一定版本的FLUENT 使用的。所以,当 FLUENT 更新,或计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年fluent用户自定义函数 2022 fluent 用户 自定义 函数
限制150内