day 15
2.3.23. DEFINE_PROFILE
DEFINE_PROFILE可以定义随空间坐标或时间变化的边界条件或单元区域条件。
可以自定义的变量有:
·速度、压力、温度、湍流动能、湍流耗散率
·质量流量
·质量流量与物理流动时间的函数
·组分质量分数(组分运输)
·体积分数(多相模型)
·壁面热条件(温度、热流、生热率、传热系数和外部发射率等)
·壳层发热率
·壁面粗糙度条件
·壁面剪切和应力条件
·孔隙率
·多孔阻力方向矢量
·壁面粘附接触角(VOF多相模型)
DEFINE_PROFILE仅允许修改壁面热通量的单个值。单个值在ANSYS FLUENT没有线性化的显式源项中使用。如果要线性化壁面热通量的源项并分别考虑传导和辐射传热,则需要使用DEFINE_HEAT_FLUX。
example 1-压力分布
以下名为pressure_profile的UDF根据方程生成抛物线型的压力分布。
此UDF假定网格的生成方式是使原点位于要应用UDF的边界区域的几何中心。
入口中心y值为0,延伸到入口顶部(+0.0745)和底部(-0.0745)
#include "udf.h"
DEFINE_PROFILE(pressure_profile,t,i)
{
real x[ND_ND]; /* 用来存储质心坐标 */
real y;
face_t f;
begin_f_loop(f,t)
{
F_CENTROID(x,f,t);
y = x[1];/*将y轴坐标赋给y*/
F_PROFILE(f,t,i) = 1.1e5 - y*y/(.0745*.0745)*0.1e5;/*计算压力,传给F_PROFILE*/
}
end_f_loop(f,t)
}
example 2-速度、湍流动能和湍流耗散率分布
在下面的示例中,DEFINE_PROFILE分别用于生成二维完全发展的管道流动的速度、湍动能和耗散率。定义了三个独立的UDF,分别命名为x_ocity、k_profile和dissip_profile。这些函数串联在单个C源文件中,可以在ANSYS Fluent中解释或编译。
#include "udf.h"
#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
/*x方向速度*/
DEFINE_PROFILE(x_velocity,t,i)
{
real y, del, h, x[ND_ND], ufree;
face_t f;
h = YMAX - YMIN;
del = DELOVRH*h;
ufree = UMEAN*(B+1.);
begin_f_loop(f,t)
{
F_CENTROID(x,f,t);
y = x[1];
if (y <= del)
F_PROFILE(f,t,i) = ufree*pow(y/del,B);
else
F_PROFILE(f,t,i) = ufree*pow((h-y)/del,B);
}
end_f_loop(f,t)
}
/* 湍动能 */
DEFINE_PROFILE(k_profile,t,i)
{
real y, del, h, ufree, x[ND_ND];
real ff, utau, knw, kinf;
face_t f;
h = YMAX - YMIN;
del = DELOVRH*h