douhongdoudou 发表于 2006-9-6 17:53

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。麻烦各位大侠帮我看看,到底错在哪里了?

Frank 发表于 2006-9-12 21:33

thread没有声明

snowbell0 发表于 2006-10-19 09:35

不清楚,刚学习
页: [1]
查看完整版本: UDF请教膜两侧传递过程