资源描述:
《UDF使用指南-1》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、UDF有多种功能,如:定制边界条件,定义材料属性,定义表面和体积反应率,定义Fluent输运方程中的源项,用户自定义标量输运方程UDS中的源项扩散率函数等。一、UDF基础1、Fluent的求解次序了解fluent的求解过程有助于理解UDF的调用过程,确定在给定的任意时间内哪些数据是当前的和有效的。对于不同的求解器,其求解次序是不一样的。在分离式求解器求解过程中,用户定义的初始化函数(使用DEFINE_INIT定义的)在迭代循环开始之前执行。然后迭代循环开始执行用户定义的调整函数(使用DEFINE_ADJUST定义的)。接着,求解守恒方程,顺序是从动量方程和后来的压力修正方程到与特定计算相
2、关的附加标量方程。守恒方程之后,属性被更新(包含用户定义属性)。这样,如果模型涉及气体定律,这时,密度将随更新的温度(和压力、物质质量分数)而被更新,进行收敛或者附加要求的迭代的检查、循环或者继续或者停止。在耦合求解器求解过程中,用户定义的初始化函数(使用DEFINE_INIT定义的)在迭代循环开始之前执行;然后迭代循环开始执行用户定义的调整函数(使用DEFINE_ADJUST定义的);接着,Fluent求解连续、动量和(适合的地方)能量的控制方程及相关的物质输运或矢量方程。其余的求解步骤与分离式求解器相同。2、Fluent网格拓扑① 单元(cell):区域被分割成的控制体积② 单元中心
3、(cellcenter):Fluent中数据存储的地方③ 面(face):单元(二维或三维)的边界④ 边(edge):面(三维)的边界⑤ 节点(node):网格点⑥ 单元线索(cellthread):在其中分配了材料数据和源项的单元组⑦ 面线索(facethread):在其中分配了边界数据的面组⑧ 节点线索(nodethread):节点组⑨ 区域(domain):由网格定义的所有节点、面和单元线索的组合3、Fluent的数据类型在编写UDF时,除了可以使用C语言数据类型外,还可以直接使用Fluent指定的与求解器数据相关的数据类型。常用的Fluent数据类型如下。cell_t是线索内单元
4、标示符的数据类型,是一个识别给定线索内单元的整数索引。face_t是线索内面标示符的数据类型,是一个识别给定线索内面的整数索引。Thread是单元或面的组合相关的数据容器。Node是单元或面的拐角相关的数据容器。Domain是Fluent中最高水平的数据结构,是一个与网格中所有节点、面和单元线索组合相关的数据容器。二、UDF中访问Fluent变量的宏(一)访问单元的宏1、访问单元流体变量的宏在Fluent中可以用来访问单元上流体变量的宏在表1中列出,注意加了_G、_RG、_M1和_M2这些下标的单元格温度的宏,可以应用于表1中除单元格压力(C_P)的所有求解器的变量中。这些下标表示的是矢
5、量梯度、改造的矢量梯度、前一次的步长和前两次的步长。而对于单元格压力,它的矢量梯度和相应的分量是使用C_DP得到的,而不是C_P_G。表1在mem.h文件中的流体标量宏名称(参数)参数类型返回值C_T(c,t)cell_tc,Thread*t温度C_T_G(c,t)cell_tc,Thread*t温度梯度矢量C_T_G(c,t)[i]cell_tc,Thread*t,inti温度梯度矢量的分量C_T_RG(c,t)cell_tc,Thread*t改造后的温度梯度矢量C_T_RG(c,t)[i]cell_tc,Thread*t,inti改造后的温度梯度矢量的分量C_T_M1(c,t)cel
6、l_tc,Thread*t温度的前一次步长C_T_M2(c,t)cell_tc,Thread*t温度的前二次步长C_P(c,t)cell_tc,Thread*t压力C_DP(c,t)cell_tc,Thread*t压力梯度矢量C_DP(c,t)[i]cell_tc,Thread*t,inti压力梯度矢量的分量C_U(c,t)cell_tc,Thread*tu方向的速度C_V(c,t)cell_tc,Thread*tv方向的速度C_W(c,t)cell_tc,Thread*tw方向的速度C_YI(c,t,i)cell_tc,Thread*t,inti物质质量分数C_K(c,t)cell_t
7、c,Thread*t湍流运动能C_D(c,t)cell_tc,Thread*t湍流运动能的分散速率(1)可以在宏中加入下标_G来得到梯度矢量和其分量。例如,C_T_G(c,t)就是返回单元格的温度梯度矢量。注意:只有当已经求解出包含这个变量的方程时才能得到梯度变量。例如,如果定义了一个关于能量的源程序,那么所编的UDF可以使用C_T_G读写单元格的温度梯度,而不能使用C_T_G读写X方向的速度分量。而且,如果建立一个由使用者确定的方