中科大FLUENT讲稿 第七章 自定义函数(7)

2019-06-11 17:57

如果使用“变量更新”(scalar update)函数,更新与颗粒轨道有关的标量值,可以从Scalar Update下拉列表中选择。变量数目在Number of Scalars中指定。 离散相宏定义参见2.6。

7.4.5 计算初始化

计算初始化UDF在User-Define Function面板的Initialization Function中设置。

Define?User-Defined?Function Hooks…

计算初始化程序在FLUENT默认初始化之后调用,用于初始化流场变量。参见2.5.4。

7.4.6 更新计算变量

更新计算变量函数在User-Define Function Hooks面板的Adjust Function设定,见4.5的图示。更新计算变量函数在迭代过程中每一步都调用,用来更新全场的变量。参见2.5.1。

7.4.7 壁面热流密度

壁面热流密度函数在User-Define Function Hooks面板的Wall Heat Flux Function中设置,见2.5.3。通过壁面热流密度函数,我们可以设定壁面网格和邻近壁面网格的热流量。例如,可以改变热交换系数和温度的壁面定律(参见相应章节)。

7.4.8 反应速率

体积反应速率和表面反应速率函数分别在User-Define Function Hooks面板的Volume Reaction Rate Function和Surface Reaction Rate Function中设置。参见2.5.11。

7.4.9 Algebraic Slip Mixture 模型的Slip Velocity

选用Algebraic Slip Mixture模型之后,滑流速度(Slip Velocity)选项就可以在User-Define Function Hooks面板中进行选择。参见3.2和3.3。

7.4.10 读写case和data文件

读写case和data文件函数分别在User-Define Function Hooks面板的Read

Case Function,Write Case Function,Read Data Function和Write Data Function中设定。四个函数由宏DEFINE_RW_FILE定义,参见2.5.8。

7.4.11 颗粒或液滴直径

定义颗粒或液滴直径的函数在Multiphase Model面板中设置。 Define?models?Multiphase…

7.4.12 可执行UDF

可执行UDF在Execute UDF On Demand面板中设置。 Define?User-Defined?Execute On Demand…

可执行UDF由宏DEFINE_ON_DEMAND定义。参见2.5.5。

7.4.13 内存存贮变量

在UDF中,我们可以将网格变量和参数存贮到内存变量中,以便其后取出使用。内存变量个数在User-Defines Memory面板中指定。

Define?User-Defined?Memory …

定义了内存变量之后,可以通过C_UDMI(c,t,i)和F_UDMI(f,t,i)引用。

i取0,1,2…,表示第几个内存变量。每一个网格最多可以对应500个这样的内存变量,以在UDF中使用。例子参见5.8。

第五节 UDFs实例

本章详细分析了UDFs的各种用法的实例,具体的应用将在第六章中分析。本章5.3,5.4和5.6的例子是Compiled型的,其它都是Interpreted型的。下面各节,给出了UDF所描述的公式及其C源程序,其中所用到的C语言语法请参考相关书籍,FLUENT语法和函数请参考2.4.3和2.10,或者可以直接参照相应的*.h文件。

7.5.1 边界条件

本节给出了三个边界条件UDFs的例子,分别描述: 1.涡轮叶片抛物型入口压力分布。 2.完全发展的湍流流动入口条件。 3.正弦壁面温度分布。

7.5.1.1 涡轮叶片抛物型入口压力分布

压力分布方程为:

2 y?55?p(y)?1.1?10-0.1?10?? ?0.0745?

下面是根据该方程书写的UDF的C源程序。

/*************************************************************************/ /* profile.c */

/* UDF for specifying a steady-state pressure profile boundary condition */

/*************************************************************************/

#include \

DEFINE_PROFILE(pressure_profile, thread, position) {

real x[ND_ND]; /* this will hold the position vector */ real y; face_t f;

begin_f_loop(f, thread) {

F_CENTROID(x,f,thread); y = x[1];

F_PROFILE(f, thread, position) = 1.1e5 - y*y/(.0745*.0745)*0.1e5; }

end_f_loop(f, thread) }

函数名为pressure_profile,数组x通过函数F_CENTROID得到面f的质心,loop循环扫描整个定义的边界,计算每个网格面边界条件的值。参数position是边界网格面的标志,可以把求得的值与网格面一一对应。边界面上的值保存入函数F_PROFILE中,FLUENT在计算过程中处理边界时,会取出所存贮的值。x[1]对应纵坐标y,同理,x[0]和x[2]分别对应坐标x,y的值。

7.5.1.2 完全发展的湍流流动入口条件

本例使用三个UDFs分别定义:x向速度,湍流动能和耗散率,近似模拟完全发展的湍流流动。 1/7y??速度采用1/7定律: v?v?xx,free????

假设湍流动能从壁面附近值直线变化到自由流的值,即从 ur2knw? C?

线性变为 u 2 。 k inf?0.002free

3/43/2耗散率为 ? ? C ? 混和长度l为? y和 0 . 085 ? 两者之中的最小值,? 为k l,Von Karman常数。

摩擦速度和壁面剪切力取为:

ur??w/? ?w?f?u2fre/e2 摩擦因子采用Blasius方程:

?1/4?e??ufre??5 f?0.04???v?

下面是根据上述方程编写的UDFs的C语言源程序。

/************************************************************************/ /* UDF for specifying fully-developed profile boundary conditions */

/************************************************************************/ #include \

#define YMIN 0.0 /* constants */ #define YMAX 0.4064 #define UMEAN 1.0 #define B 1./7.

#define DELOVRH 0.5 #define VISC 1.7894e-05 #define CMU 0.09 #define VKC 0.41


中科大FLUENT讲稿 第七章 自定义函数(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:石家庄铁道大学06级物理实验试卷及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: