找回密码
 注册
查看: 2424|回复: 3

求助-简单的fluentUDF

[复制链接]
发表于 2011-1-6 13:35:00 | 显示全部楼层 |阅读模式

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

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

x
下面的UDF名字是adjust,它使用DEFINE_ADJUST对湍流耗散在整个区域上
积分。然后这个值会打印在控制台窗口中。每一步迭代都会调用这个UDF。它
可以作为解释程序或者编译后的UDF在FLUENT中执行。
#include"udf.h"
DEFINE_ADJUST(my_adjust,d)
{
Thread*t;
/*Integrate dissipation.*/
real sum_diss=0.;
cell_t c;
thread_loop_c(t,d)
{
begin_c_loop(c,t)
sum_diss+=C_D(c,t)*
C_VOLUME(c,t);
end_c_loop(c,t)
}
printf("Volume integral of turbulent dissipation:%g\n",sum_diss);
}
求大神讲解下每一步的意思,本人是菜鸟中的菜鸟,c++也是初学,所以比如像cell_t c这种命令是大概什么意思,求高手讲一下
发表于 2011-1-16 16:23:31 | 显示全部楼层
#include"udf.h"                                           ;;
DEFINE_ADJUST(my_adjust,d)             ;;名字为my_adjust 的宏,用于计算域内耗散之和
;;没用过这个udf,好像里面积分的结果是耗散率与体积的乘积,没明白目的是什么
{
Thread*t;                                                      ;;声明一个指针,用于标记
/*Integrate dissipation.*/                        
real sum_diss=0.;                                      ;;声明一个存储变量,此变量最后输出
cell_t c;                                                          ;;声明一个指针,指向cell
thread_loop_c(t,d)                                      ;;开始遍历d上的所有cell
{
begin_c_loop(c,t)                                        ;;
sum_diss+=C_D(c,t)*C_VOLUME(c,t);  ;;相当于积分作用,C_D是获得c上的耗散率,C_VOLUME是c的体积
end_c_loop(c,t)                                           ;;结束对域的遍历
}
printf("Volume integral of turbulent dissipation:%g\n",sum_diss);;;打印遍历结果
}
发表于 2011-1-19 16:16:55 | 显示全部楼层


QQ网名 www.qqju.com
QQ情侣头像 www.2qqtouxiang.com
繁体字转换 www.3fantizi.com
周公解梦 www.2jiemeng.com
 楼主| 发表于 2011-4-13 20:05:48 | 显示全部楼层

回复 2# invader 的帖子

非常感谢如此详细的分析,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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