首页/文章/ 详情

Fluent案例|蒸发冷凝UDF

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家
平台推荐
内容稀缺
7月前浏览24369

本文摘要(由AI生成):

本文介绍了在Fluent中利用UDF添加质量源项及能量源项的方式模拟水沸腾的方法。早期版本的Fluent中没有现成的蒸发冷凝模型,需要借助UDF指定质量源与能量源来模拟沸腾现象。在较新的Fluent版本中已经内置了蒸发冷凝模型,本算例中的UDF等同于Fluent中内置的Lee模型。本案例的UDF也可以经过修改用于更复杂的沸腾现象模拟。


本案例演示在Fluent中利用UDF添加质量源项及能量源项的方式模拟水沸腾。

注:本算例来自Fluent官方老案例,仅为演示源项法模拟水沸腾。在早期版本的Fluent中没有现成的蒸发冷凝模型,需要借助UDF指定质量源与能量源来模拟沸腾现象。在较新的Fluent版本中已经内置了蒸发冷凝模型,本算例中的UDF等同于Fluent中内置的Lee模型。本案例的UDF也可以经过修改用于更复杂的沸腾现象模拟。

1 问题描述

计算模型如下图所示。

图片

计算区域内介质为液态水,初始温度372 K,两侧面为绝热壁面。容器底部中心区域为高温T=573 K。

2 Fluent设置

  • 2D、Double Precision方式启动Fluent
  • 利用菜单File → Read → Mesh…读取网格文件boil.msh

2.1 General设置

  • 选择Transient,指定重力加速度为Y方向-9.81 m/s2

图片

2.2 Models设置

  • 激活能量方程

图片

  • 采用层流计算

图片

  • 采用Mixture多相流模型,激活选项Implicit Body Force

图片

2.3 Materials设置

  • 添加水与水蒸气

图片

  • 按下图所示修改水蒸气材料参数

图片

注:本算例利用UDF指定传质与传热,因此标准状态焓与参考温度可以随便设置,不参与计算。

  • 添加液态水,按下图所示指定参数

图片

2.4 设置多相流模型

  • 指定多相流模型主相为water-liquid

图片

  • 指定次相为vapor,设置Diameter0.0002 m

图片

  • 相间作用如下图所示,不需要设置传质与传热

图片

2.5 解释UDF

  • 右键选择模型树节点User Defined Functions,点击弹出菜单项Interpreted...打开UDF解释对话框

图片

  • 在打开的对话框中添加源文件source.c,点击按钮Interpret解释源代码

图片

2.6 设置计算区域

  • 设置流体计算区域fluid,选择Phasemixture,激活选项Source Terms,点击Energy后的按钮Edit...编辑能量源

图片

  • 指定能量源为udf enrg_src,点击OK按钮关闭对话框

图片

  • 设置Phaseliquid,如下图所示设置Mass后方的Edit... 按钮添加质量源

图片

  • 设置液相质量源为udf liq_src

图片

  • 增加气相质量源

图片

  • 设置气相质量源为udf vap_src

图片

2.7 边界条件设置

  • 设置出口边界poutlet的出口静压为0 Pa

图片

  • 指定出口回流温度为372 K

图片

  • 指定出口气相回流体积分数为0

图片

  • 指定边界wall-hot的温度为573 K

图片

2.8 Methods设置

  • 计算方法设置

图片

2.9 标记区域

  • 右键选择模型树节点Cell Registers,点击弹出菜单项New → Boundary…打开设置对话框

图片

  • 如下图所示标记边界区域wall-hot相邻的第一层网格

图片

2.10 初始化

  • 全局初始化

图片

  • 将标记的网格区域温度初始化为373.15 K

图片

2.11 开始计算

  • 指定时间步长0.005 s,时间步数为1000,进行计算

图片

2.12 计算结果

  • 计算结果如下图所示

 

3 UDF程序简解

这个UDF还是比较简单的,主要包含两个质量源与一个能量源。计算公式采用的是Lee模型。

UDF程序如下所示。

#include "udf.h"
#include "sg_mphase.h"
#define T_SAT 373.15   //饱和温度373.15 K
#define LAT_HT 1.e3 //汽化潜热1000 J/kg

// 液相质量源项
DEFINE_SOURCE(liq_src, cell, pri_th, dS, eqn)
{
 Thread *mix_th, *sec_th;
 real m_dot_l;

 // mix_th存储主相的Thread指针;sec_th存储次相指针,注意ID
 mix_th = THREAD_SUPER_THREAD(pri_th);
 sec_th = THREAD_SUB_THREAD(mix_th, 1);

 // 温度大于饱和温度,表示为蒸发
 if (C_T(cell, mix_th) >= T_SAT)
 {
   //计算蒸发量,注意液相质量流量为负值,0.1为coeff值
   m_dot_l = -0.1 * C_VOF(cell, pri_th) * C_R(cell, pri_th) *
             fabs(C_T(cell, pri_th) - T_SAT) / T_SAT;
   //对体积分数求导
   dS[eqn] = -0.1 * C_R(cell, pri_th) *
             fabs(C_T(cell, pri_th) - T_SAT) / T_SAT;
 }
 else
 {
   //计算冷凝量,液相质量分数为正值
   m_dot_l = 0.1 * C_VOF(cell, sec_th) * C_R(cell, sec_th) *
             fabs(T_SAT - C_T(cell, mix_th)) / T_SAT;
   //若对体积分数求导得到的值为正,干脆直接赋零值
   dS[eqn] = 0.;
 }
 return m_dot_l;
}

// 气相质量源项,解释同上
DEFINE_SOURCE(vap_src, cell, sec_th, dS, eqn)
{
 Thread *mix_th, *pri_th;
 real m_dot_v;

 mix_th = THREAD_SUPER_THREAD(sec_th);
 pri_th = THREAD_SUB_THREAD(mix_th, 0);

 if (C_T(cell, mix_th) >= T_SAT)
 {
   m_dot_v = 0.1 * C_VOF(cell, pri_th) * C_R(cell, pri_th) *
             fabs(C_T(cell, mix_th) - T_SAT) / T_SAT;
   dS[eqn] = 0.;
 }
 else
 {
   m_dot_v = -0.1 * C_VOF(cell, sec_th) * C_R(cell, sec_th) *
             fabs(T_SAT - C_T(cell, mix_th)) / T_SAT;

   dS[eqn] = -0.1 * C_R(cell, sec_th) *
             fabs(C_T(cell, sec_th) - T_SAT) / T_SAT;
 }

 return m_dot_v;
}

//混合相的能量源项
DEFINE_SOURCE(enrg_src, cell, mix_th, dS, eqn)
{
 Thread *pri_th, *sec_th;
 real m_dot;
 pri_th = THREAD_SUB_THREAD(mix_th, 0);
 sec_th = THREAD_SUB_THREAD(mix_th, 1);

 if (C_T(cell, mix_th) >= T_SAT)
 {
   // 得到蒸发量,Lee模型
   m_dot = -0.1 * C_VOF(cell, pri_th) * C_R(cell, pri_th) *
           fabs(C_T(cell, pri_th) - T_SAT) / T_SAT;

   //对温度求导,若为负则保留,否则赋值零
   dS[eqn] = -0.1 * C_VOF(cell, pri_th) * C_R(cell, pri_th) / T_SAT;
 }
 else
 {
   //得到冷凝量
   m_dot = 0.1 * C_VOF(cell, sec_th) * C_R(cell, sec_th) *
           fabs(T_SAT - C_T(cell, mix_th)) / T_SAT;

   dS[eqn] = -0.1 * C_VOF(cell, sec_th) * C_R(cell, sec_th) / T_SAT;
 }
   
 // 返回热量值,利用潜热与质量流量的乘积得到
 return LAT_HT * m_dot;
}

文件下载链接:见附件

 


附件

免费Fluent案例|蒸发冷凝UDF.txt
Fluent换热散热储能科普
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-01-06
最近编辑:7月前
CFD之道
博士 | 教师 探讨CFD职场生活,闲谈CFD里外
获赞 2565粉丝 11293文章 732课程 27
点赞
收藏
作者推荐
未登录
2条评论
嘟嘟嘟
签名征集中
1天前
您好,这个udf蒸发和冷凝是通用的嘛?
回复
伯二
签名征集中
2年前
你好,能出一个vof udf 沸腾的博文嘛
回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈