gerui211314 发表于 2010-4-22 18:17:07

求助高手冷凝UDF问题

我用蒸发的UDF自己改了一个冷凝的UDF,并用一根单管试验了一下,结果真有冷凝相变显示,貌似是冷凝成功,可我不明白的是,查看气相休积分数的时候只有颜色的变化,没有数量的变化,看液相的时候就有,难到是UDF改的不对吗,请哪位UDF高手帮看一下
#include "udf.h"
#include "sg_mphase.h"
#define T_SAT 373
#define LAT_HT 2.257e6



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 = 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 = 0.;

       }
   
return m_dot_v;

}

DEFINE_SOURCE(lip_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 = 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 = -0.1*C_R(cell, sec_th)*
      fabs(C_T(cell, sec_th) - T_SAT)/T_SAT;

       }
   
return m_dot_l;

}

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(C_T(cell, pri_th) - T_SAT)/T_SAT;

    dS =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 = -0.1*C_VOF(cell, sec_th)*C_R(cell, sec_th)/T_SAT;}

return LAT_HT*m_dot;
}

gerui211314 发表于 2010-4-22 18:18:28

查看液相体积分数的时候

gerui211314 发表于 2010-4-24 08:56:13

怎么没有人帮助我呢,难道是我问的问题太白痴了吗,我是新手,实在是不明白,那位能指点一下,谢谢了

wangzhuang0426 发表于 2010-5-6 11:32:27

应该是成功了吧。这个UDF我觉得不会影响的,我分析啊,可能是你的入口时速度入口,蒸汽不断进入管子,不断补充液化消耗掉的蒸汽,所以没有变化吧。
呵呵,好几天没来,才看到你的提问,你模拟的非常好。

L_J 发表于 2010-5-6 12:29:57

呃...请教楼主```
您有源项UDF的相关资料么````
我现在在学习用fluent源项造波,但在UDF处理上遇到挺大问题的,不知道怎么着手这个方面...
看了些UDF的帮助文档,也只是了解了DEFINE_SOURCE的设置,具体里面的各项怎么定义呢?
dS=0 是通用的么? 还是那个导数结果有相应模型的特定的值呢?
希望您能指点指点.谢谢```

wangzhuang0426 发表于 2010-5-6 15:19:36

回复 1# gerui211314 的帖子

我想明白了,蒸发中的1.e3是1000
这种带小数点的表达是统计学惯用的表达方式。
你做得对,改为2260kg/kj

L_J 发表于 2010-5-6 15:36:02

LS在没?
想请教下,你们说的蒸发的UDF是从哪获得的?
有相关资料或网站提供了这个源文件么?
请指教.

L_J 发表于 2010-5-6 15:40:56

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;
这个源项的表达式方程是如何得来的?
这其中的系数0.1由什么决定呢?
在定义dS时,求导为C常数, else则为0,这是源项定义时通常采用的方法么?
求导是将源项线性化是么? 那什么情况下可以采用线性化的方法啊? 还是对于源项都可以采用线性化来简化处理的?

请大侠指点帮助....谢谢

gerui211314 发表于 2010-5-7 16:15:09

回复 7# L_J 的帖子

蒸发的UDF很好找啊,这个论坛里就有啊,百度里都能找到,而且是带说明的,你找找吧,一定有的。

L_J 发表于 2010-5-7 16:25:18

回复 9# gerui211314 的帖子

UDF的源文件是不是都有的可寻呢?
其他的呢? 百度就有?= =

wangzhuang0426 发表于 2010-5-9 22:48:40

我知道原因了,非稳态模拟并不像稳态那样会收敛。所以检查质量流量会出错,甚至失真。你成功了。

wangzhuang0426 发表于 2010-5-9 23:04:17

想问一下,你是不是设的vapor为基本相,liquid为第二项?如果liquid为第二项,我想问一下,你的液滴直径设的多少?

gerui211314 发表于 2010-5-10 11:17:39

回复 12# wangzhuang0426 的帖子

是,vapor为基本相,液滴直径我用的默认值,这个影响大吗不知道

wangzhuang0426 发表于 2010-5-10 14:14:35

程序编错了,我忙了一晚,找到了原因。你想,温度低于冷凝点时,气体冷凝为液体,气体要减少。所以应为负号。我昨晚好奇,用了一下你的程序,提示动量方程错误。找了一下原因。如果你设气相为基本相,液相为第二相,那么正负号的关系应该和沸腾的UDF完全相同。
静下心来,看UDF中文教程第六章,弄清THREAD_SUB_THREAD和THREAD_SUPER_THREAD的含义。然后利用FLUENT自带的英文UDF帮助文件,搜索关键字dS,找到求导关系,弄懂它。查阅相关的资料,看一下Fluent的能量源项方程的形式,只有这样你才能真正明白这个程序的含义。
水滴直径设置关系很重要,如果是默认的那个1e-6,应该可以。最好找一下相关冷凝液滴的资料。

[ 本帖最后由 wangzhuang0426 于 2010-5-10 14:18 编辑 ]

gerui211314 发表于 2010-5-10 14:30:59

回复 14# wangzhuang0426 的帖子

我也想这个问题了,那是不是说如果气相为基本相,那么前两个对汽相和液相质量转变那个符号就和沸腾是一样的,而能量那个需要变号,是吧
不知道能否方便加下你QQ,或者你加我QQ375969333,我们方便讨论一下,一起学习
页: [1] 2 3
查看完整版本: 求助高手冷凝UDF问题