本文描述将封闭的循环通道分割为包含有进出口边界的计算区域的处理方式。
1 模型描述
几何模型如图所示。一个循环的槽道包含有两个加热段(如图中的热流及恒温位置),有一个冷却装置用于给槽道内的工作介质降温。现实情况下在冷却装置中装设有风机、换热器等结构极为复杂的组件,此时可以将冷却装置考虑为集总模型,并将这一段槽道断开进行单独处理。
此时计算模型如下图所示。
此时原始问题转化为了两个问题:
-
冷却装置如何等效?这里的等效涉及到温度场与流场。若冷却装置中存在风机之类的增压装置,那么需要考虑压力阶跃;温度的变化规律也需要考虑,若是常规换热器,流体在通过冷却器后的温度降低量需要根据换热器的换热面积、上游来流温度等参数进行折算(折算过程可参阅换热器手册)。 -
简化后的槽道边界如何处理?当然如果冷却装置的上下游如果有监测仪表的话,事情就比较简单了。比如说压力流量这些边界都可以直接使用(稳定工作时槽道内的循环流量通常是恒定的)
本案例仅为演示。假设流体通过冷却装置后温度降低5K(真实工况下温度的降低量应该根据换热器的结构参数以及上游来流温度进行换算,这里简单处理),槽道内工作介质为空气,质量流量为0.05 kg/s。现在需要在计算过程中获取出口位置的温度值,并根据此温度值计算得到入口温度值并将其赋予入口边界,这在Fluent中可以通过UDF来实现。
2 计算网格
此案例网格划分较为简单,可以直接划分六面体网格。计算网格如下图所示。
3 准备UDF
由于UDF中需要获取出口位置的温度值,因此有必要先得到出口边界的ID。
获取边界ID的方法很多,可以在Boundary Conditions面板中查看。
将网格导入到Fluent中,打开Boundary Conditions面板,如下图所示,可以看到边界outlet的ID为13。
也可以使用TUI命令/define/boundary-conditions/list-zones
查看边界ID,如下图所示。
UDF代码如下所示。
// UDF用于将计算得到的出口温度赋值给入口边界
#include"udf.h"
#define OUTLETID 13 /*出口处的ID,根据具体情况修改*/
real outlet_T = 300.0; //给一个出口初始值,全局变量
DEFINE_ADJUST(my_adjust,d)
{
real NV_VEC(A); //定义向量A用于存放出口边界的网格面面积
real sum_T = 0; //用于统计出口边界的总温度
real sum_Area = 0.0;
real outlet_temp;
//得到出口边界的thread指针
Thread *outletThread = Lookup_Thread(d,OUTLETID);
face_t f;
// 在node节点上进行边界温度信息统计
#if !RP_HOST
//在出口边界上进行循环遍历
begin_f_loop(f,outletThread)
{
if(PRINCIPAL_FACE_P(f,outletThread))
{
F_AREA(A,f,outletThread);
sum_Area += NV_MAG(A);
sum_T += NV_MAG(A)*F_T(f,outletThread);
}
}
end_f_loop(f,outletThread)
#endif
//在计算节点上进行数据汇总
#if RP_NODE
sum_Area = PRF_GRSUM1(sum_Area);
sum_T = PRF_GRSUM1(sum_T);
#endif
// 将数据传递给host节点
node_to_host_real_2(sum_Area,sum_T);
#if !RP_NODE
outlet_temp = sum_T/sum_Area; //在host节点上计算出口的平均温度
Message("n temperature of outlet:%fn",outlet_temp);
#endif
host_to_node_real_1(outlet_temp);
//将出口温度减去5K,后面将其赋值给出口温度
outlet_T = outlet_temp-5;
}
DEFINE_PROFILE(inletTemperature, t, index)
{
face_t f;
#if !RP_HOST
begin_f_loop(f, t)
{
if (PRINCIPAL_FACE_P(f, t))
{
F_PROFILE(f, t, index) = outlet_T;
}
}
end_f_loop(f, t)
#endif
}
4 Fluent设置
本算例真正的技术点在于UDF的编写以及温度等效过程。而仿真设置反而简单。这里简单描述。
-
导入计算网格
-
设置Transient激活瞬态计算
-
激活能量方程与湍流模型(这里选择使用Realizable k-epsilon湍流模型)
-
计算区域内材料介质采用air
-
编译并加载UDF
-
边界条件
-
入口边界:设置速度为2 m/s,入口温度使用udf inletTemperature -
出口边界:采用静压为0 Pa。注意这里只是算例假设,若有压力监测,则出口处的压力应当换算成真实压力值 -
wall-400:光滑无滑移壁面,温度400 K -
wall-flux:光滑无滑移壁面,指定壁面热流10000 W/m2 -
其他壁面:保持默认,为绝热边界 -
设置监测入口及出口平均温度
-
全局初始化
-
设置时间步长0.5 s,时间步数15进行计算
5 计算结果
-
入口面上平均温度
-
出口面上平均温度
监测得到的数据如下图所示。
可以看到进出口温度及温差均已保持稳定。
注:此算例简单粗暴的将出口温度降低5K直接赋值给出口温度,但实际工程当中,通过换热器的热流体下降的温度值并非恒定值,需要根据换热器的结构进行换算,不过这并非本文所要演示的内容。工程问题和演示的算例总是存在差异的。本算例提供了一种处理此类问题的框架,框架中的细节需要自己根据具体问题进行处理,毕竟这不是工程项目报告。
”
原始文件下载(Fluent版本2021R1):
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册