UDF请教膜两侧传递过程
各位大侠们好:我要模拟膜的传递过程。
首先简要介绍一下膜的选择透过性。膜法富氧在一定压力驱动下,将空气中的氧气浓度由普通的20.9%提高到30%左右。氧气、氮气在聚合物膜中的渗透机理及过程如图1所示:首先氧气、氮气与膜接触,向膜表面吸附并溶解于高压侧表面;然后借助氧气、氮气产生浓度梯度在膜中扩散;最后浓度梯度处于稳定状态,从膜的低压侧解吸出来。
图1 膜法富氧分离机理简图
我认为此UDF的模拟过程如下:
1、将膜设置为internal wall.
2、利用DEFINE_ADJUST来计算穿过膜的质量通量。一般的,这个质量通量和膜两边网格的组分的摩尔分数、压力或其它量有关。质量通量必须作为膜两边网格的源项存在,所以,在DEFINE_ADJUST里面,您还必须计算源项大小。
3、利用DEFINE_SOURCE把此源项加入膜两边的网格。
源项公式我设为源项 ,简化为:SΦ=1.03×10-4Δp
我编制的UDF程序如下,由于我没有学过C语言,并且对UDF的学习很肤浅,是有错误的,但是我改了半天,也没改对。
#include "udf.h"
DEFINE_ADJUST(mass_flux,d)
{
#define p 52621;
real m;
int n, id, ns = 0;
Thread* tc;
face_t f;
cell_t c0;
Thread* tf;
id = THREAD_ID(tf);
c0 = F_C0(face_t,thread);/*get the cell identifier for boundary*/
tf = THREAD_SHADOW(thread);/*get the thread pointer of the internal wall's
shadow*/
tc =F_SHADOW(f,thread);/*get the face pointer for shadow wall*/
m = 1.03e-4 * p;
DEFINE_SOURCE(face_q_source1,face,thread,dS,eqn)
{
real source1;
source1=m;
dS = 0.0;
return source1;
}
#define y 0.3;
DEFINE_SOURCE(face_q_source2,face,thread,dS,eqn)
{
real source2;
source2=m * y;
dS = 0.0;
return source2;
}
通过编译链接导入到FLUENT中,系统提示错误信息为:Error: F:\2\source.c.cpp: line 12: thread: undeclared variable。麻烦各位大侠帮我看看,到底错在哪里了? thread没有声明 不清楚,刚学习
页:
[1]