24小时热门版块排行榜    

查看: 964  |  回复: 2

hjnature

铜虫 (初入文坛)

[求助] 在源项中调用温度梯度 已有2人参与

想在两相流源项的计算中使用温度梯度,但是为什么udf能顾编译通过,但是算了一步之后计算就报错呢,源程序如下,我是fluent新手,希望各位大神解答,
#include "udf.h"
#include "sg_mphase.h"
#define T_SAT 373
#define L 230000.0
#define d 1000
#define k_L 0.6791
DEFINE_SOURCE(liq_src, cell, thread, dS, eqn)
{
real void_s, tg,m_dot_l=0;   
void_s=C_VOF(cell,thread);
if (NULL != THREAD_STORAGE(thread,SV_T_G))
{
    tg=C_T_G(cell,thread)[0];
  if(C_T(cell,thread)>=T_SAT&&void_s>0&&void_s<1)
{
    m_dot_l =-k_L*tg*d/L;
    dS[eqn] =0;
                               }
  else if(C_T(cell,thread)<T_SAT&&void_s>0&&void_s<1)
{

    m_dot_l =k_L*tg*d/L;

    dS[eqn] =0.;

       }
    else{
m_dot_l =0;
}
}
  return m_dot_l;
}

DEFINE_SOURCE(vap_src, cell, thread, dS, eqn)

{
real void_s, tg,m_dot_v=0;
void_s=C_VOF(cell, thread);
if (NULL != THREAD_STORAGE(thread,SV_T_G))
{
    tg=C_T_G(cell,thread)[0];
  if(C_T(cell, thread)>=T_SAT&&void_s>0&&void_s<1)
{
    m_dot_v =k_L*tg*d/L;
    dS[eqn] = 0.;
                               }
  else if(C_T(cell, thread)<T_SAT&&void_s>0&&void_s<1)
{
    m_dot_v = -k_L*tg*d/L;

    dS[eqn] = 0;

       }
  else
{
  m_dot_v =0;
}
  }
return m_dot_v;
}
回复此楼

» 猜你喜欢

纵情山水
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ying333556

新虫 (初入文坛)

【答案】应助回帖

楼主您好。我也遇到了类似的问题,不知道您有没有解决,可以讨论一下么?
2楼2017-07-02 22:48:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mycc

专家顾问 (正式写手)

【答案】应助回帖

这种错误基本上是主相和次相没有搞清楚
项目汇总:http://www.cfluid.com/forum.php?mod=viewthread&amp;tid=114340&amp;extra=
3楼2017-07-03 10:52:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 hjnature 的主题更新
信息提示
请填处理意见