找回密码
 注册
Simdroid-非首页
查看: 73|回复: 0

[问题讨论] 边界条件UDF编写

[复制链接]
发表于 2017-4-13 14:34:20 | 显示全部楼层 |阅读模式 来自 福建福州
只在边界层施加质量源项
我原本是打算用Lookup_Thread寻找边界的ID,利用循环遍历网格,来施加源项。这样子可行吗
DEFINE_SOURCE(S_Ag, cell, thread, dS, eqn)
{
      real source;
      face_t f;
      Domain *domain;
      Thread *t,*t0,*t1;
      cell_t c,c0,c1;
      real deltaS,deltaV;
      real NV_VEC(A);
      domain=Get_Domain(1);
     int ID=3;   /*阴极的Zone_ID,要修改*/
     int ID2=8;  /*阳极的Zone_ID,要修改*/
switch THREAD_ID(thread)
   {
    case 3:
    {Thread *yinji=Lookup_Thread(domain,ID);
                       begin_f_loop(f,yinji)    /*循环遍历线上所有面*/
             {  
                    F_AREA(A,f,yinji);  /*返回值为面矢量A*/
            deltaS=NV_MAG(A);      
              
              begin_c_loop(c,yinji)    /*循环遍历线上所有面*/
             {
             deltaV=C_VOLUME(c0,yinji);
              }
         end_c_loop(c,yinji)
             source=C_UDMI(c,yinji,31)*deltaS/deltaV;
       }
             end_f_loop(f,yinji)
          }
             break;
      
    case 2:
    {
          Thread *yangji=Lookup_Thread(domain,ID2);
                       begin_f_loop(f,yangji)    /*循环遍历线上所有面*/
            {  
                   F_AREA(A,f,yangji);  /*返回值为面矢量A*/
           deltaS=NV_MAG(A);        
               begin_c_loop(c,yangji)    /*循环遍历线上所有面*/
             {
              deltaV=C_VOLUME(c,yangji);     /*边界单元上的体积*/
              }
              end_c_loop(c,yangji)
             source=C_UDMI(c,yangji,29)*deltaS/deltaV;
       }
       end_f_loop(f,yangji)
    }
      break;
     default:
      source=0;
   }   
dS[eqn]=0;
return source;
}
说实话对UDF的质量源项的添加仅是凭自己的思路,有什么致命错误,希望能够指出。
另外上面的那个源项的解释说明,在模型上是否要进行调整,因为是电弧机理研究,所以没灭弧室模型只建立了弧柱区域,是否要建立边界层,有这方面的资料案例吗?


本帖子中包含更多资源

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

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

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-24 21:16 , Processed in 0.026465 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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