找回密码
 注册
查看: 1826|回复: 2

初始化失败,哪位高手帮忙看下udf

[复制链接]
发表于 2012-11-7 16:18:14 | 显示全部楼层 |阅读模式

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

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

x
液相为主相,水蒸气,空气为第二相,
下面的udf是基于压力的质量变化:

#include "udf.h"                            /*包括常规宏*/
#include "sg_mphase.h"                      /*包括体积分数宏*/
#define  LAT_HT 2260000                     /*定义水蒸汽潜热*/
#define  pi 3.1415                          /*圆周率常数*/
#define  R 8.314                            /*gas constant 8.314j/mol.K*/
#define  moleweight 0.018                   /*SI unit water mole weight 0.018kg/mol */
#define A 9.3876
#define B 3826.36
#define C 45.47
DEFINE_SOURCE(liq_src, cell, t, dS, eqn)                  
{  
  Thread *tm, **pt;
  Thread *mixture_thread;                           
  real m_dot_l;                                      
  real P_SAT, P_mixture,P_vap;                                 
  tm = THREAD_SUPER_THREAD(t);               
  pt = THREAD_SUB_THREADS(mixture_thread);      /*17*/        
  P_SAT=exp(A-B/(C_T(cell,t)-C))*1e6;
  P_mixture = ABS_P(C_P(cell,tm),op_pres);
  P_vap = P_mixture*C_VOF(cell,pt[1])/(C_VOF(cell,pt[1])+C_VOF(cell,pt[2])) ;         
  if(P_vap < P_SAT)   
    {
    m_dot_l = -(P_SAT-P_vap)*sqrt(moleweight/(2*pi*R*C_T(cell,t)));   
    dS[eqn]= 0.5*sqrt(moleweight/(2*pi*R))*pow(C_T(cell,t),2)*(P_SAT-2*P_SAT*C_T(cell,t)*B/pow((C_T(cell,t)-C),2)-P_vap);     
    }
  else   
    {
    m_dot_l = (P_SAT-P_vap)*sqrt(moleweight/(2*pi*R*C_T(cell,pt[1])));         
    dS[eqn] = 0;   
    }
  return m_dot_l;
}
DEFINE_SOURCE(vap_src, cell, t, dS, eqn)
{  
  Thread *tm, **pt;
  Thread *mixture_thread;  
  real m_dot_v;  
  real P_SAT, P_mixture,P_vap ;
  tm = THREAD_SUPER_THREAD(t);               
  pt = THREAD_SUB_THREADS(mixture_thread);    /*40*/
  P_SAT=exp(A-B/(C_T(cell,pt[0])-C))*1e6;
  P_mixture = ABS_P(C_P(cell,tm),op_pres);
  P_vap = P_mixture*C_VOF(cell,pt[1])/(C_VOF(cell,pt[1])+C_VOF(cell,pt[2])) ;
  if(P_vap < P_SAT)
    {  
    m_dot_v = (P_SAT-P_vap)*sqrt(moleweight/(2*pi*R*C_T(cell,pt[0])));  
    dS[eqn] =0;
    }
  else  
    {
    m_dot_v = -(P_SAT-P_vap)*sqrt(moleweight/(2*pi*R*C_T(cell,t)));   
    dS[eqn]=0.5*sqrt(moleweight/(2*pi*R))*pow(C_T(cell,t),2)*(P_SAT-2*P_SAT*C_T(cell,t)*B/pow((C_T(cell,t)-C),2)-P_vap);  
    }
  return m_dot_v;
}
DEFINE_SOURCE(enrg_src, cell, t, dS, eqn)
{
  Thread *pri_th, *vap_th;
  Thread *mixture_thread,**pt;
  real m_dot;
  real P_SAT, P_mixture,P_vap;
  pt = THREAD_SUB_THREADS(mixture_thread);
  pri_th=THREAD_SUB_THREAD(mixture_thread,0);     /*63*/
  vap_th=THREAD_SUB_THREAD(mixture_thread,1);  
  P_SAT=exp(A-B/(C_T(cell,pt[0])-C))*1e6;
  P_mixture = ABS_P(C_P(cell,t),op_pres);
  P_vap = P_mixture*C_VOF(cell,pt[1])/(C_VOF(cell,pt[1])+C_VOF(cell,pt[2])) ;
  if(P_vap < P_SAT)
    {  
    m_dot =-(P_SAT-P_vap)*sqrt(moleweight/(2*pi*R*C_T(cell,pt[0])));  
    dS[eqn]=0.5*sqrt(moleweight/(2*pi*R))*pow(C_T(cell,pt[0]),2)*(P_SAT-2*P_SAT*C_T(cell,pt[0])*B/pow((C_T(cell,pt[0])-C),2)-P_vap);
    }
  else
    {
    m_dot = (P_SAT-P_vap)*sqrt(moleweight/(2*pi*R*C_T(cell,pt[1])));
    dS[eqn]=0.5*sqrt(moleweight/(2*pi*R))*pow(C_T(cell,pt[1]),2)*(P_SAT-2*P_SAT*C_T(cell,pt[1])*B/pow((C_T(cell,pt[1])-C),2)-P_vap);
    }
  return LAT_HT*m_dot;
}
 楼主| 发表于 2012-11-7 16:21:55 | 显示全部楼层

回复 1# 快乐永远 的帖子

发表于 2012-11-13 09:41:57 | 显示全部楼层

回复 1# 快乐永远 的帖子

把你的问题在叙述的详细一点,比如用的什么多相流模型等等,很多宏与模型有关。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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