|
|

楼主 |
发表于 2007-11-21 18:31:52
|
显示全部楼层
关于UDFs中DEFINE_DPM_DRAG的几个问题请教
谢谢楼上回答。
我现在改变思路为:为了得到Cd=f(Re_p,Ma_p),先利用Re和粒子所在单元流体的相关变量(T_g, rhu_g, Cp_g..)求出Ma_p.
在此过程中需要得到粒子所在单元流体的性质。因此,先通过P_CELL(p)和P_CELL_THREAD(p)得到该单元的cell ID和Thread指针。这样,可以通过形如C_T(c,t)以及C_CP(c,t)得宏得到流体变量的值。
编写的UDFs如下:
#include "udf.h"
DEFINE_DPM_DRAG(name, Re, p)
{
...
...
cell_t c;
c=P_CELL(p);
Thread *t;
t=P_CELL_THREAD(p);
T_g=C_T(c,t);
...
...
Ma_p=f(Re_p,T_g,Cp_g....);
Cd=f(Re_p,Ma_p);
return (18*Cd*Re/24);
}
可是每次编译时总有以下问题:
(chdir "libudf")()
(chdir "ntx86\2ddp")()
henderson.c
..\..\src\henderson.c(9) : warning C4047: ';='; : ';struct thread_struct *'; differs in levels of indirection from ';int ';
# Generating udf_names.c because of makefile henderson.obj
udf_names.c
# Linking libudf.dll because of makefile user_nt.udf udf_names.obj henderson.obj
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
Creating library libudf.lib and object libudf.exp
henderson.obj : error LNK2001: unresolved external symbol _RP_THREAD
henderson.obj : error LNK2001: unresolved external symbol _RP_CELL
libudf.dll : fatal error LNK1120: 2 unresolved externals
我安装Vc++ 6.0的时候选择了"注册环境变量",而且也试了其他的UDFs,编译链接都无问题。
哪位高人帮我看看问题处在什么地方???
非常感谢!
|
|