001修改湍流耗散并在控制板上显示的UDF
先看程序
#include "udf.h"
DEFINE_ADJUST(my_adjust,d)
(
Thread *t;
include意思
∕* Integrate dissipation. *∕
real sum diss=0.j
cell_t c;
thread」oop_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∖∩", sum_diss);
)
解释
∪df.h是一个头文件,是每一个UDF程序必须要包含的,形式是/include "udf.h",出现在没有程序的最开始部分。就是一个库函数,包括了DEFINE宏的
定义,其他的程序提供的宏和函数。是已汇编的形式编入程序。是写UDF必须有的。
DEFINE_ADJUST(my_adjust,d)是一个DEFINE 宏。简单说一句,所谓宏,就是一系列程序的合集,打包之后可以方便调用,对于用户来讲可以理解为黑箱, 只要提供参数,就能得到结果。
DEFINE_ADJUST(my_adjust,d)中my_adjust是具体的宏名称,用户取的,只要符合C的命名规则,可以任意取,变成your.adjust也是一样的。d是domain的意思,由fluent软件提供,用户不需要管。
Thread*1;Thread,线程,可以理解为一种数据类型,整个定义了一个指针,(这里需要一些C语言知识,指针的定义)。这句的意思是定义了一个指针,名字是t,存储数据类型是Thread。
real sum_diss=0.;定义了一个实数变量,名字叫sum.diss,并赋值为0 ;
cell_tc;定义了一个cell」的变量,名字叫c ;cell」是fluent中的一种数据类型。
thread」oop_c(t,d)在域上循环单元线程,即在给定域内循环单元线程。
domain可以理解成很多数据的集合,其中包括cell,也可能有face,这个宏只在
domain里面循环cell thread。括号里的t是前面定义的,d是由程序给定的。
begin_c_loop(c,t)这是在单元线程里循环每个单元,之后进行操作,由
end.cjoop(c1t)结束循环。
sum_diss += C-D(c,t)* C_VOLUME(c,t);+二表示和自己家,写全就是sum_diss
=sum_diss+ C-D(c,t)* C_VOLUME(c,t); sum_diss 是前面定义的实数。
C_D(c,t)和C_VOLUME(c,t)又是两个宏,区域可以看到,是t线程里面的c,
就是单元线程里的每个单元。C_D(c,t)表示该单元的湍流动能耗散率;C_VOLUME(c,t)表示该单元的体积。
prin廿("Volume integral of turbulent dissipation: %g∖∩", sum_diss);打印一句话, 输出sum_diss的值。C语言基本打印语句。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。