udf在服务器上显示语法错误,UDF代码错误在哪里啊? - 仿真模拟 - 小木虫 - 学术 科研 互动社区...

用组分输运模型模拟一个三维圆柱内的组分输运问题,圆柱壁面对组分有吸收。圆柱等分为两段,前一段标为huxi ,后一段标为xiu。由于壁面对组分的吸收缘故,必然使圆柱内从前往后浓度依次降低。

从而下面的代码应该huxi2 与xiu2的值不同才是,但我得到的结果是huxi2与xiu2的值完全一样,奇了怪了,

#include "udf.h"

#define Dm 6.9e-5

DEFINE_ON_DEMAND(tongti2)

{

int n;

face_t f;

cell_t cell_gas;

Thread *tf;

real At;

real NV_VEC(A);

real c_mass_volume,flux,source;

Thread *huxi = Lookup_Thread(Get_Domain(1), 11);

Thread *xiu = Lookup_Thread(Get_Domain(1), 12);

real huxi2=0.0 , xiu2=0.0;

begin_c_loop(cell_gas, THREAD_T0(huxi))

{

c_face_loop(cell_gas, THREAD_T0(huxi),n)

{

f = C_FACE(cell_gas, THREAD_T0(huxi),n);

tf = C_FACE_THREAD(cell_gas, THREAD_T0(huxi),n);

if (BOUNDARY_FACE_THREAD_P(tf))

{

F_AREA(A, f, tf);

At = NV_MAG(A);

break;

}

}

c_mass_volume = C_YI(cell_gas, THREAD_T0(huxi), 0)*C_R(cell_gas, THREAD_T0(huxi));

flux = c_mass_volume*Dm ;

source = -flux*At;

huxi2 = huxi2+source;

}

end_c_loop(cell_gas, THREAD_T0(huxi))

Message("\n huxi2 = %g\n", huxi2);

begin_c_loop(cell_gas, THREAD_T0(xiu))

{

c_face_loop(cell_gas, THREAD_T0(xiu),n)

{

f = C_FACE(cell_gas, THREAD_T0(xiu),n);

tf = C_FACE_THREAD(cell_gas, THREAD_T0(xiu),n);

if (BOUNDARY_FACE_THREAD_P(tf))

{

F_AREA(A, f, tf);

At = NV_MAG(A);

break;

}

}

c_mass_volume = C_YI(cell_gas, THREAD_T0(xiu), 0)*C_R(cell_gas, THREAD_T0(xiu));

flux = c_mass_volume*Dm;

source = -flux*At;

xiu2 = xiu2+source;

}

end_c_loop(cell_gas, THREAD_T0(xiu))

Message("\n xiu2 = %g\n", xiu2);

}

[Last edited by kylafree on 2012-1-3 at 22:06]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值