24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2961  |  回复: 8

linyi7445962

新虫 (初入文坛)

[求助] 有关水蒸汽冷凝的UDF已有1人参与

一个球体模型,往里通入混合工质 其中包含水蒸汽 采用了多组分传输来确定混合工质的组成 需要考虑混合工质中水蒸气的冷凝情况 在网上查了下冷凝的UDF 都是多相流的 所以加入多相流模型 首相为混合工质 次相为水(液体) 在边界条件的fluid设置中的mixture选项中框选source terms 在engery中导入能量项 在首相中也框选source terms 并且在水蒸气项中导入vap_src 同理在次相中导入liq_src 设置好进行迭代 但是出现几种错误 1 能迭代但没产生质量转移 2不能进行迭代 提示错误 好像发散之类的 因为刚开始学习UDF 对于这方面不太理解 对于THREAD_SUPER_THREAD(pri_th)以及THREAD_SUB_THREAD(mix_th,1) 括号中的参数如何确定 以及指针到底指向哪里不是很清楚 在FLUENT HELP中看了下 也不是太明白 希望能帮忙解答下 或者有这方面经验的能交流下  以下是采用的UDF
由于刚进论坛 金币数太少 悬赏金少请见谅
#include "udf.h"
#include "sg_mphase.h"
#define T_SAT 373
#define LAT_HT 1.e3

DEFINE_SOURCE(vap_src,cell,pri_th,dS,eqn)
{

  Thread *mix_th,*sec_th;
  real m_dot_l;

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

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

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

       }
   
  return m_dot_l;

}

DEFINE_SOURCE(liq_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,sec_th)*C_R(cell,sec_th)*fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;
    dS[eqn]=-0.1*C_R(cell,sec_th)*fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;
                               }
  else {
    m_dot_v=0.1*C_VOF(cell,pri_th)*C_R(cell,pri_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,sec_th)*C_R(cell,sec_th)*fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;

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

    dS[eqn]=0.1*C_VOF(cell,pri_th)*C_R(cell,pri_th)/T_SAT;}

  return LAT_HT*m_dot;
}
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

linyi7445962

新虫 (初入文坛)

对于质量转移问题解决 但是能量源项的问题在于导入模型之后进行迭代比不加UDF时 流体温度场下降速度很快 就像能量源项产生的是负能量 使温度下降很快,希望能解释enrg_src这块的错误在哪
2楼2012-05-31 14:59:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

linyi7445962

新虫 (初入文坛)

我的首相的ID是2 次相的ID是3 是否有关 有关应如何修改
3楼2012-05-31 16:55:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

837729744

铜虫 (小有名气)

楼主问题解决了吗?这个水蒸气冷凝的udf,用到组分模型下,可以解决质量转移问题?应该还得改吧。
4楼2013-08-31 11:52:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

meiguimimi

银虫 (小有名气)

【答案】应助回帖

else {
    m_dot=0.1*C_VOF(cell,pri_th)*C_R(cell,pri_th)*fabs(T_SAT-C_T(cell,mix_th))/T_SAT;

    dS[eqn]=0.1*C_VOF(cell,pri_th)*C_R(cell,pri_th)/T_SAT;}

  return LAT_HT*m_dot;

在对质量的偏导数求导时,dS[eqn]项有一个负号
5楼2015-01-19 13:35:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

LRM2015

新虫 (初入文坛)

引用回帖:
5楼: Originally posted by meiguimimi at 2015-01-19 13:35:17
else {
    m_dot=0.1*C_VOF(cell,pri_th)*C_R(cell,pri_th)*fabs(T_SAT-C_T(cell,mix_th))/T_SAT;

    dS=0.1*C_VOF(cell,pri_th)*C_R(cell,pri_th)/T_SAT;}

  return LAT_HT*m_dot;

在对质量的偏导数求 ...

前面的0.1是什么意思?
6楼2015-12-31 20:29:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zjdycjl2012

新虫 (小有名气)

引用回帖:
6楼: Originally posted by LRM2015 at 2015-12-31 20:29:24
前面的0.1是什么意思?...

相变强度因子,是一个系数
7楼2017-03-31 17:02:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zjdycjl2012

新虫 (小有名气)

用不用多组分模型会影响UDF吗?需要修改UDF吗?
8楼2017-03-31 17:12:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

PeiyuChen

新虫 (初入文坛)

引用回帖:
7楼: Originally posted by zjdycjl2012 at 2017-03-31 17:02:53
相变强度因子,是一个系数...

楼主,问题解决了吗?我的模拟也是第二相液态水产生不了。

发自小木虫Android客户端
9楼2017-04-15 14:24:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 linyi7445962 的主题更新
信息提示
请填处理意见