找回密码
 注册
查看: 1853|回复: 4

[分享.交流]udf中外部变量的使用

[复制链接]
发表于 2005-3-11 19:05:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
[这个贴子最后由zljspace在 2005/03/12 12:10pm 第 1 次编辑]

最近用到了udf中的外部变量,把所学到的与大家交流,也请大家多多指点:
我的模型中用到5个udf,一个udf提取某个ZONE的平均温度,其它四个udf中都要用到这个平均温度值来计算并更新几个不同位置处的边界条件,这在udf中可以通过定义外部变量来实现:
1.在其中一个udf(提取某个ZONE的平均温度的udf)中定义real型变量V;
2.建立建立一个*.h文件,在其中定义V为外部变量,然后把*.h复制到vc安装目录下的include文件夹中;
3.其它的udf中的顶部加入 #include "*.h" 。
然后就可以compile-hook......
具体举例如下:
1.首先在一个udf中定义real型变量V;
#include "udf.h"
real V;
DEFINE_ADJUST(compute_volume, domain)
{
     V= ....
}
2.建立建立一个*.h(这里*表示用户任意制定的文件名)文件,在其中定义V为外部变量,然后把*.h复制到vc安装目录下的include文件夹中 X:\Program Files\Microsoft Visual Studio\VC98\Include;
/*   *.h  Header file that contains the external variable declaration for
   V*/
extern real V;
3.其它的udf中无需再定义V,在顶部加入 #include "*.h"即可 ,比如:
第二个udf
#include "udf.h"
#include "*.h
DEFINE_SOURCE(USER_NAME,c,t,ds,eqn)
{
   ...
   source= 150*(1-V/100);
   return source;
}

第三个udf
#include "udf.h"
#include "*.h"
DEFINE_PROFILE(NAME, t, p)
{
    ...
      F_PROFILE(f, t, p) = 150*(1-V/100);
    ...
}
然后就可以compile-hook......
发表于 2005-3-11 19:47:01 | 显示全部楼层

[分享.交流]udf中外部变量的使用

能否详细点呀
发表于 2005-3-11 22:45:46 | 显示全部楼层

[分享.交流]udf中外部变量的使用

zljspace,您好!
我觉得fluent编译的dll文件和vc编译的过程不同。
    在fluent中,先根据DEFINE宏,生成一个ueser_name.c文件,其中对每个函数的调用作了规定。
然后将这两个文件编译,链接成dll文件。
    请教你在vc中怎样编译fluent程序。
    最好给个例子。
   
我的方法如下,在vc的include 中加入fluent的相关目录,在vc下编译udf文件,查找错误。无误后在fluent中编译。
   
发表于 2005-3-12 10:51:54 | 显示全部楼层

[分享.交流]udf中外部变量的使用

我也需要阿 大家共享阿!
 楼主| 发表于 2012-7-29 23:36:30 | 显示全部楼层
回来看看自己的帖子,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表