找回密码
 注册
查看: 5895|回复: 22

关于冷凝过程的模拟

[复制链接]
发表于 2011-6-13 14:07:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
大家好!
我最近在做冷凝器冷凝过程(仅管内侧)的模拟,但是每次都是迭代几次就出现错误:
divergence detected in AMG solver:pressure correction.
类似的提示也出现在temperature和X-momentum上.
在论坛里面也搜索了一下,有的说是网格质量问题,有的说是边界条件设置问题.
关于后者,我不是很有把握,特请大家帮忙看下,是否有问题:
1、边界条件设置
入口:2000Kpa(total pressure),105摄食度的过热冷媒蒸汽.static pressure没有设置,即:0(注:在fluent帮助中说pressure-inlet边界条件中的initial pressure只有在用进口来初始化的时候,才会用到这个变量,故未填写,用all-zones来初始化的)
出口:pressure-outlet,1892Kpa(实验测得),57.5度的过冷液体
扁管壁面设置的热流密度heat flux,-9000w/m^2(放热)
2、数学模型
层流(这个可能要重点看,我觉得扁管内是层流),稳态,多相流,UDF
3、UDF是自己根据算例中的蒸发,依葫芦画瓢做出来的,有必要的话后续再看。

附件中是模型的截图,希望大家能抽空帮忙看看,非常感谢!

[ 本帖最后由 wq_0805 于 2011-6-13 14:08 编辑 ]
整体模型(上为进口,下为出口).GIF
扁管处的细节.GIF
发表于 2011-6-13 16:22:29 | 显示全部楼层
登记一下。
发表于 2011-6-13 16:29:26 | 显示全部楼层

路过 学习哈

问下 进口怎么给定压力路口边界条件 可以改改质量入口和速度入口边界条件
 楼主| 发表于 2011-6-13 16:33:37 | 显示全部楼层


恩,这个是实验室测得的入口压力.
后面我考虑这里的冷媒蒸汽可能有一定的压缩性,改成了质量入口条件.另外,因为是多相流,设置mixture的时候,也还是要给定initial gauge pressure,设置vapor组分的时候,才给定的质量流量.
发表于 2011-6-13 19:48:29 | 显示全部楼层
把初始值改一下:压力用进口压力,速度全为零。
蒸发模型不能乱来,它直接关联能量方程、质量方程,最容易引起发散。
热流密度这种边界条件刚性大,也容易引起发散。
总之,计算模型要尽可能恰当,也就是说无论是全局还是局部都要不违反控制方程和物理约束条件。
 楼主| 发表于 2011-6-14 09:32:44 | 显示全部楼层
原帖由 xrs333 于 2011-6-13 19:48 发表
把初始值改一下:压力用进口压力,速度全为零。
蒸发模型不能乱来,它直接关联能量方程、质量方程,最容易引起发散。
热流密度这种边界条件刚性大,也容易引起发散。
总之,计算模型要尽可能恰当,也就是说无论是 ...


谢谢斑竹!
今天早上过来得到一个初步结果了,但是发现温度和液滴的百分比有些问题:
1、最低处(出口)温度只有271K,低于0度。实际结果应该在330K左右,相差太大了。
2、液体的含量太低,最高处也只有14%,而且只在很小的局部范围才有。我出口处可能过冷的液体,含量100%才对。
另,我越来越发觉这个冷凝过程很复杂呢,制冷剂液滴的生成速率我手头上还没有。目前UDF借用的是FLUENT帮助中那个水的蒸发的算例,只不过取的逆过程。现在也担心是这个造成温度和体积分数与实际不符的原因!!!

贴上图片,谢大家发表自己的看法。
温度分布(最低处居然271K).GIF
液滴百分数分布图.GIF
出口处的液滴(局部放大图).GIF
发表于 2011-6-16 23:25:54 | 显示全部楼层

回复 6# wq_0805 的帖子

唐伯虎兄,一直关注中!这两天忙考试,考完试就开始正式搞这个东西,小弟还是菜鸟一个,刚刚入门,希望以后共同交流!楼主能否加下QQ:357091170
发表于 2011-6-20 17:08:18 | 显示全部楼层

将你的udf贴上来看看

楼主你好,我也稍微懂一点儿冷凝模拟的东西,可将你的udf贴上来,看看是否哪个地方改动的不对!
 楼主| 发表于 2011-6-21 09:25:00 | 显示全部楼层
原帖由 syangecust 于 2011-6-20 17:08 发表
楼主你好,我也稍微懂一点儿冷凝模拟的东西,可将你的udf贴上来,看看是否哪个地方改动的不对!



UDF如下:

#include "udf.h"
#include "sg_mphase.h"
#define T_SAT 338.2                    /*饱和压力下,R134A的饱和温度*/
#define LAT_HT 1.3134e5            /*饱和压力下,冷媒液化时的潜热*/
DEFINE_SOURCE(liq_src, cell, sec_th, dS, eqn)
{
Thread *mix_th, *pri_th;  
real m_dot_l;  
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_l = 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_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.1*C_R(cell, sec_th)*fabs(T_SAT-C_T(cell,sec_th))/T_SAT;}  
return m_dot_l;
}

DEFINE_SOURCE(vap_src, cell, pri_th, dS, eqn)
{
Thread *mix_th, *sec_th;  
real m_dot_v;  
mix_th = THREAD_SUPER_THREAD(pri_th);  
sec_th = THREAD_SUB_THREAD(mix_th, 1);  
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, 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_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.;}  
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)
{m_dot=0.1*C_VOF(cell, pri_th)*C_R(cell, pri_th)*fabs(T_SAT-C_T(cell, pri_th))/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,sec_th))/T_SAT;   
dS[eqn] = -0.1*C_VOF(cell, sec_th)*C_R(cell, sec_th)/T_SAT;}  
return LAT_HT*m_dot;
}


用的MIXTURE模型,激活了slip velocity和body force
欢迎各位大侠批评指正!

[ 本帖最后由 wq_0805 于 2011-6-21 09:26 编辑 ]
发表于 2011-6-21 09:31:17 | 显示全部楼层
程序中的0.1需要查相关文献替换一下,蒸发速度和很多因素密切相关,不是仅仅一个常数0.1能阐明的。
 楼主| 发表于 2011-6-21 09:38:04 | 显示全部楼层
原帖由 浪子轻狂 于 2011-6-21 09:31 发表
程序中的0.1需要查相关文献替换一下,蒸发速度和很多因素密切相关,不是仅仅一个常数0.1能阐明的。



恩,我已经将这个系数分别改到20,100,计算了若干次,但结果都不大理想.
另外,还有个通性问题:迭代初期都没有问题,但是大约到了50~100步(有时更多),突然出现divergence detected in AMG solver:而残差并没有出现陡然增大,而是在逐步缩小.所以每次都无法跌代到我认为的合理程度.
当然也碰到很诡异的,残差陡然增大,然后报错的情况.
单机多核的并行计算,总之诡异得很!
发表于 2011-6-21 09:51:15 | 显示全部楼层
那个值改成20或100也忒夸张了些吧,太大了。你去查阅一下文献,不要无根据的盲目乱改。

你说的那个错误和多核并行与否没有什么关系,你单核计算照样有这问题。可能是你的网格和模型选择不太匹配、或者边界条件设置不当、初始化值不合理也可以引起上述错误。

[ 本帖最后由 浪子轻狂 于 2011-6-21 01:53 编辑 ]
发表于 2011-6-21 11:06:12 | 显示全部楼层

步长小一点试试

步长小一点试试
 楼主| 发表于 2011-6-22 10:25:43 | 显示全部楼层
原帖由 syangecust 于 2011-6-21 11:06 发表
步长小一点试试



你所谓的步长是??时间?空间?
我算的稳态情况
发表于 2011-6-27 08:49:00 | 显示全部楼层
1、最低处(出口)温度只有271K,低于0度。实际结果应该在330K左右,相差太大了。
2、液体的含量太低,最高处也只有14%,而且只在很小的局部范围才有。我出口处可能过冷的液体,含量100%才对。

出口温度已经低于饱和温度了,说明液体含量应该是100%,但是你的才14%。说明你有些定义有问题。

另外9000w/m^2的热流密度有根据吗,这个热流密度会随着干度的下降而下降吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表