找回密码
 注册
查看: 984|回复: 1

关于壁面wall的Specified Mass Fraction的udf问题

[复制链接]
发表于 2012-3-29 13:43:37 | 显示全部楼层 |阅读模式
10金钱
流体为nacl,水两组分溶液,在壁面wall处,由于水渗透的原因,nacl浓度增加,质量分数增大,由此编辑udf,如下:
DEFINE_PROFILE(wall_nacl_mass_fractionin,thread,position)       /*壁面处nacl的质量分数 */
{
cell_t c;
face_t f;
cell_t c0=F_C0(f,thread);
Thread *t0=THREAD_T0(thread);
real x[ND_ND];
real y;
real x_adj[ND_ND];
real y_adj;
real c1 ;
real m_adj,m_wall,mw_nacl;             /* m_adj为壁面附近nacl的质量分数,m_wall为壁面处nacl的质量分数,mw_nacl为nacl的分子量*/
int i;
Material *mix=THREAD_MATERIAL(thread); /*区域d的材料属性*/
Material *sp;            /*材料属性sp*/
real r_mix=0.0;
begin_f_loop(f,thread)
  {
    begin_c_loop(c0,t0)
    {
     if(MATERIAL_TYPE(mix)==MATERIAL_MIXTURE)
     {  
      mixture_species_loop(mix,sp,i)                                     /* 循环遍历混合相中的所有组分*/
      {
        if((0==strcmp(MIXTURE_SPECIE_NAME(mix,i),"nacl"))||(0==strcmp(MIXTURE_SPECIE_NAME(mix,i),"NaCl")))
         {
          m_adj=C_YI(c0,t0,i);
          mw_nacl=MATERIAL_PROP(sp,PROP_mwi);
         }
      }
     }
     C_CENTROID(x_adj,c0,thread);
     y_adj=fabs(x_adj[1]);
     F_CENTROID(x,f,thread);
     y=fabs(x[1]);                                                     
     c1=(m_adj-0.0082)*exp(4950.81*y_adj);
     m_wall=c1*exp(-4950.81*y)+0.0082;
     F_PROFILE(f,thread,position)=m_wall;
     printf("壁面y值=%f\n",y);
    }
   end_c_loop(c0,t0)
  }
end_f_loop(f,thread)
}

当初始化时,fluent提示有错误,
Error:
FLUENT received fatal signal (ACCESS_VIOLATION)
1. Note exact events leading to error.
2. Save case/data under new name.
3. Exit program and restart to continue.
4. Report error to your distributor.
Error Object: ()
不知该如何解决,期待大家的帮助,希望能和大家探讨,QQ:451484235 .

发表于 2012-3-30 20:14:46 | 显示全部楼层
请将你的cas上传,以便UDF测试。
回复

使用道具 举报

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

本版积分规则

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