首页/文章/ 详情

Fluent案例|蒸发冷凝UDF

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

本文摘要(由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里外
获赞 2557粉丝 11207文章 729课程 27
点赞
收藏
作者推荐
未登录
1条评论
伯二
签名征集中
2年前
你好,能出一个vof udf 沸腾的博文嘛
回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈