接下去的第一句就是每个UDF的源文件所必需的内容:包含头文件udf.c。
随后定义了两个实型的变量lamda和cp,并且赋值,根据其后面的注释我们知道这两个变量分别代表热导率和定压比热,它们将被用来设计方程
DEFINE_PROFLIE (inlet_x_velocity , thread , position) 宏被用来定义抛物线形的速度剖面,当这个UDF挂入到Fluent中后,就可以在入口速度的边界条件定义面板中出现inlet_x_velocity供我们选择。该宏中的inlet_x_velocity是可以随意指定的函数名,是用来鉴别速度入口边界条件设定面板中的名字,由用户自行给定;宏函数中还包含着另外两个自变量:thread和position。其中thread是一个指向面线程(face thread)的一个线程指针,position是一个整数,代表着所指向线程的编号。
这个宏函数中的内容将被应用到一个给定的边界区域(由用户在边界条件设定面板中选择对哪个边界区域使用UDF)上的所有单元面(在面循环中的f识别),一旦指定所应用的边界区域,Fluent将自动地把该区域的线程(thread)编号的线程(thread)指针自动传递给thread和position这两个变量。
最后开始执行改宏函数内的内容:首先定义了质心的纵坐标函数x[ND_ND],在二文情况下x[0]代表面质心的横坐标值,x[1]代表面质心的纵坐标值,随后定义了实型变量y来准备存储质心的y坐标值,定义面型变量f来代表一个面。接下来是一个面循环宏函数,即在一个面线程thread(由Fluent自动转入)中扫描所有的面:在循环内,通过Fluent提供的宏函数F_CENTROID(x,f,thread)来获得在thread中面f的质心位置,并把该位置存储返回到x[ND_ND]中,然后把质心的纵坐标值赋给y变量(y=x[1]),最后通过公式u=0.1*y*(0.001-y)/(0.0005*0.0005)来计算速度,并通过F_PROFLIE(f, thread , position)宏函数把计算得到的速度分配到这个面上。
图3.6 关于速度的宏函数的C语言源代码
图3.7是该方案的残差监测曲线,经过156步的迭代计算该曲线已达到收敛。
图3.7 使用自定义速度变量的UDF之后隧道内残差监测曲线
再观察未使用UDF时隧道内温度分布云图,即图3.8。我们可以看到该火源内部最高的温度达到1330K,火源内的温度呈现明显的梯度变化。从x=6.5的观察面可以看到火源内部的高温区域偏向于火源的右侧,那是因为受到隧道内纵向风与排烟口的共同作用。
图3.8使用自定义速度变量的UDF之后温度云图分布
如图3.9a和3.9b是使用关于速度的UDF时隧道内速度云图分布,可以看出火源附近的流体运动受阻影响区域大约为50m左右。通风设计的过程中要考虑这个因素加强机械通风,从而保障发生火灾时减少人财物的损失。接近火源的通风口流速大于其它两个,其排烟口的流速为9.06m/s,剩余两个排烟口流速分别是8.11m/s和7.46m/s。
图3.9a 使用自定义速度变量的UDF之后速度云图分布
图3.9b 使用自定义速度变量的UDF之后速度云图分布
图3.10a、3.10b、3.10c和3.10d是隧道各个部分的速度矢量图,从该图中可看到排烟口区域内的速度也是有变化的,其中排烟口内的中心区域速度较快,排烟口内的周边区域速度较慢。计算出了三个排烟口各自的平均速度以及开启三个排烟口的总排烟量,详见表3.5。
图3.10a 使用自定义速度变量的UDF之后隧道6.5米处界面的速度矢量图
图3.10b 使用自定义速度变量的UDF之后隧道6.5米处界面的速度矢量图
图3.10c 使用自定义速度变量的UDF之后隧道6.5米处界面的速度矢量图
图3.10d 使用自定义速度变量的UDF之后隧道6.5米处界面的速度矢量图 应用Fluent的UDF二次开发对某隧道安全通风进行设计(12):http://www.youerw.com/gongcheng/lunwen_202.html