只在边界层施加质量源项 我原本是打算用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的质量源项的添加仅是凭自己的思路,有什么致命错误,希望能够指出。 另外上面的那个源项的解释说明,在模型上是否要进行调整,因为是电弧机理研究,所以没灭弧室模型只建立了弧柱区域,是否要建立边界层,有这方面的资料案例吗?
|