找回密码
 注册
查看: 1289|回复: 0

导入UDF后初始化出错

[复制链接]
发表于 2022-5-22 11:04:13 | 显示全部楼层 |阅读模式
5金钱
这是我改的一个UDF,build和load,没事,可以导进去,但是一初始化就出现这个, QQ图片20220522110207.png UDF如下

#include "udf.h"
#include "sg_mphase.h"

#define T_SAT 373
#define LAT_HT 2260000

int i;
cell_t c;
Thread *t;
Thread *tf;
real source;

DEFINE_SOURCE(liq_src,cell,first,dS,eqn)
{
         Thread *mixer, *sec_th;
         real m_dot_l;
         real P_SAT ;
         
         mixer = THREAD_SUPER_THREAD(first);
         sec_th = THREAD_SUB_THREAD(mixer, 1);
         P_SAT=2000/15*exp(18.5916-3991.11/(C_T(cell,first)-273.15+233.84));

         c_face_loop(cell,mixer,i)
         {
                 tf=C_FACE_THREAD(c,t,i);
                 if(THREAD_ID(tf)==9)
                 {
                          if(C_P(cell, sec_th)< P_SAT)
                           {
    m_dot_l = -0.1*C_VOF(cell, first)*C_R(cell, first)*fabs(C_T(cell, first) - T_SAT)/T_SAT;
    dS[eqn] = -0.1*C_R(cell, first)*fabs(C_T(cell, first) - 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,mixer))/T_SAT;
    dS[eqn] = 0.;
                                }
                 }
                 else
                 {
                         
                 }
         }
         return m_dot_l;
}

DEFINE_SOURCE(vap_src,cell,sec_th,dS,eqn)
{
         Thread *mixer, *first;
         real m_dot_v;
         real P_SAT ;
         
         mixer = THREAD_SUPER_THREAD(sec_th);
         first = THREAD_SUB_THREAD(mixer, 0);
         P_SAT=2000/15*exp(18.5916-3991.11/(C_T(cell,first)-273.15+233.84));

         c_face_loop(cell,mixer,i)
         {
                 tf=C_FACE_THREAD(c,t,i);
                 if(THREAD_ID(tf)==9)
                 {
                          if(C_P(cell, sec_th)< P_SAT)
                           {
        m_dot_v = 0.1*C_VOF(cell, first)*C_R(cell, first)*fabs(C_T(cell, mixer) - 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,mixer))/T_SAT;

    dS[eqn] = -0.1*C_R(cell, sec_th)*fabs(C_T(cell, sec_th) - T_SAT)/T_SAT;
                                }
                 }
                 else
                 {
                         
                 }
         }
         return m_dot_v;
}

DEFINE_SOURCE(enrg_src,cell,mixer,dS,eqn)
{
         Thread *first, *sec_th;
         real m_dot;
         real P_SAT ;
         
         first = THREAD_SUB_THREAD(mixer, 0);
         sec_th = THREAD_SUB_THREAD(mixer, 1);
         P_SAT=2000/15*exp(18.5916-3991.11/(C_T(cell,first)-273.15+233.84));

         c_face_loop(cell,mixer,i)
         {
                 tf=C_FACE_THREAD(c,t,i);
                 if(THREAD_ID(tf)==9)
                 {
                          if(C_P(cell, sec_th)< P_SAT)
                           {
        m_dot = -0.1*C_VOF(cell, first)*C_R(cell, first)*fabs(C_T(cell, first) - T_SAT)/T_SAT;
    dS[eqn] = -0.1*C_VOF(cell, first)*C_R(cell, first)/T_SAT;;
                }
                                else
                                {
        m_dot = 0.1*C_VOF(cell, sec_th)*C_R(cell, sec_th)*fabs(T_SAT-C_T(cell,mixer))/T_SAT;
    dS[eqn] = -0.1*C_VOF(cell, sec_th)*C_R(cell, sec_th)/T_SAT;
                                }
                 }
                 else
                 {
                         
                 }
         }
         return LAT_HT*m_dot;
}

是想把相变控制发生在某个壁面的近壁面网格这里,请问有哪位大佬知道该怎么解决吗

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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