Gambit软件是CFD的前处理器,Gambit软件主要完成建立模型、划分网格与设定区域类型等工作。在Gambit中建立的模型可以直接导入Fluent中,并进行求解器参数的设置。Gambit软件一般都与Fluent软件配合使用进行数值模拟计算[14]。
CFD主要有两种计算方法:第一种方法,用户可以使用商用软件设置求解器中的各参数进行计算;第二种方法,用户可以编制合适的计算程序语言进行计算。它们的基本工作流程是相同的[14]。
2.4. UDF在Fluent中的应用
UDF是Fluent软件提供的一个用户接口,用户可以通过它与Fluent模块的内部数据进行交流,从而可以解决一些标准的Fluent模块不能解决的问题。概括起来,UDF可以解决一下几方面的问题:处理边界条件;修改源项;定义材料属性;变量初始化;表面和体积反应速率;处理与多项流相关的问题;动网格运动的定义;通过UDS引入额外的方程[14]。
UDF是用来增强Fluent代码的标准功能的,在写UDF之前,我们要明确以下几个基本的要求。首先,必须用C语言编写UDF。必须使用Fluent提供的DEFINE宏来定义UDF。UDF必须含有包含于源代码开始指示的udf.h文件;它允许为DEFINE macros和包含在编译过程的其它Fluent提供的函数定义。UDF只使用预先确定的宏和函数从FLUENT求解器访问数据。通过UDF传递到求解器的任何值或从求解器返回到UDF的值,都指定为国际(SI)单位[18]。
在PC机上运行,需要安装VC++编译器(如微软C++、v6.0或更高的版本)。一旦编译好的UDF库文件在Fluent运行时链接到FLUENT处理过程,和共享库相关的东西会保存到case文件。因此,只要读取case文件,编译的库文件会自动链接到Fluent处理过程。
采用C语言编写;必须为udf.h文件有一个包含声明;使用Fluent.Inc提供的DEFINE macros来定义;使用Fluent.Inc提供的预定义宏和函数来访问Fluent求解器数据;必须使返回到Fluent求解器的所有值指定为国际单位。
一旦经过解释的UDF被编译,用户自定义的C函数的名称与内容将会被存放到case文件中。只要读取这个case文件,这些函数便会自动被编译。
编译被解释的UDF的一般程序如下:
1. 如果用户没有在网络Windows计算机上使用并行的Fluent版本,则需要确定UDF的C源码和case文件与当前工作目录一致。 如果源码不在当前工作目录,则用户编译UDF时,用户必须在解释UDF的控制面板里输入文件的完全路径,而不是只输入文件名。
2. 在当前工作目录下运行Fluent。
3. 读取(或建立)case文件。
4. 打开“Interpreted UDFs panel”,编译UDF(如vprofile.c)。
编译UDF时出错信息会出现在控制窗口中。用户有可能因错误滚动太快不能看到所用的出错信息。因此调试UDF时用户想关掉“Display Assembly Listing”。
如果在调试UDF的过程中一直打开“Interpreted UDFs”面板,由于在独立窗口进行编辑,编译按钮则会不断重复编译。然后,直到无出错信息调试和编译才会结束。
3 火灾时某特长公路隧道纵向通风数值模拟
3.1 某特长公路隧道设计概况
本文所设计的公路隧道全长8.9km,公路隧道中部的长度为7.5km,该公路隧道为双管隧道,每管单行三车道。该公路隧道每管内径为13.46m,车道净高5.2m,设计行车速度为80km/h,设计交通量为3000辆/h。根据《公路隧道设计细则》[19]第3.0.1条公路隧道的长度大于3000m属于特长隧道。因此,本文设计的是特长公路隧道。
根据《公路隧道通风照明设计规范》第3.9.1条通风设计时必须考虑火灾对策,长度大于1500m且交通量较大的隧道应考虑排烟措施[20]。本文设计的隧道满足此条规定,因而,要考虑通风排烟方案。依据《公路隧道通风照明设计规范》第3.2.1条可按下列方法初步判定是否设置机械通风[20],由于本设计是单向交通隧道,所以按照第二种方法进行计算: 应用Fluent的UDF二次开发对某隧道安全通风进行设计(9):http://www.youerw.com/gongcheng/lunwen_202.html