2024年3月28日发(作者:)

1. real x[ND_ND] 相当于声明一个数组,对于二维等价于real x[2],对于三维等

价于real x[3],ND_ND是宏,有fluent自动确定其取值,二维取2,三维取3。这句的

用处一般是用来存放坐标或和坐标有关的矢量的,三维情况下,x[0]代表x轴方向,x[1]

代表y轴方向,x[2]代表z轴方向。

原型:在TC中原型是extern float fabs(float x);,在VC6.0中原型是double

fabs( double x );。

用法:#include

功能:求浮点数x的绝对值

说明:计算|x|, 当x不为负时返回x,否则返回-x

类似函数:abs

3. C_U(c,t): C_U(cell,thread),笛卡尔(直角)坐标系x轴方向速度。

单元线索(cell thread)在其中分配了材料数据和源项的单元组

Thread 数据类型是 FLUENT 中的数据结构。它充当了一个与它描述的单元或面的组

合相关的数据容器。

4. 请问C_R(c,t)和C_VOF(c,t)的返回值是什么啊?

fluent 的udf manual 5.2.3存取材料性质的宏中提到C_R(c,t)参数类型为cell_t

c,Thread *t,返回值,密度;

在5.6多相宏中提到C_VOF(c,pt[0]) 参数类型 cell_t c,Thread **pt 返回值 主要相

的体积分数,C_VOF(c,pt[n]) 参数类型 cell_t c,Thread **pt 返回值 第n个辅助相的体

积分数。

5.

6.定义源项

不能定义离散坐标辐射模型

定义 连续性方程

动量方程

能量方程

k, ε方程

种类质量分数方程

UDS

宏:DEFINE_SOURCE ( name, c, t, dS, eqn)

参数类型:

cell_t c c is cell thread variable

Thread *t c is a pointer to thread

real dS[] 定义dS[]为实数

int eqn 定义方程为整型

函数返回值为实数。

对于DEFINE_SOURCE宏,

有五个参数:name, c, t, dS, and eqn.

Name 是UDF的名字,会在FLUENT图形用户界面中变得可见, 且可被选择。

C是由t指向线程的单元,在这个单元中源项得到应用。

数组dS指定了源项的衍生物(微分),是由传输方程中的变量得到的。这些微分如果

能增强求解器的稳定性则可以用来线性化源项

6. 关键在于找到那些不能包括到控制方程的非稳态项、对流项与扩散项中所有项,写

出源项的表达式。局部线形化的时候注意Sp要小于等于0.

7. Fluent UDF定义源项

吴子牛编著的《计算流体力学基本原理》中提到以下几种情况会有源项。

1.在非惯性坐标系中,N-S方程右端需添加反映惯性力影响的源项;

2.考虑重力影响时,需在动量方程中添加重力项;

3.考虑两相流时,在N-S方程右端需条件反映各种流体相互干扰的源项(包括质量交

换,动量交换,能量交换);

4.考虑两方程湍流模型时,湍流模型方程右端含有反映湍流生成与消灭的源项;

5.考虑化学反应时,需在组分浓度方程和能量方程添加由化学反应引起的质量变化与

能量变化;

6.将高维问题化为低维问题时,也会出现源项。

流体力学中有点源,点汇的概念,我想可能这个与上述提到的应该有些相同吧。

陶文铨老师的书中对源项的描述是这样的:数值传热学书中所指的源项是广义量,它

代表那些不能包括到控制方程的非稳态项、对流项与扩散项中所有其它各项之和。书中提

到将源项局部线形化,S=S

c

+S

p

T

p,

这种方法比将源项处理为常数会更合理。

7. 温度梯度:具有连续温度场的物体内,过任意一点P温度变化率最大的方向位于等

温线的法线方向上,称过点P的最大温度变化率为温度梯度,用gradt表示。

#include "udf.h"

#define C2 100.0

DEFINE_SOURCE(xmom_source,c,t,dS,eqn)

{

real x[ND_ND];

real con,source;

C_CENTROID(x,c,t);

con=C2*0.5*C_R(c,t)*x[1];

source = -con*fabs(C_U(c,t))*C_U(c,t);

dS[eqn] = -2.*con*fabs(C_U(c,t));

return source

}