Fluent UDF学习过程中的总结

  • A+
所属分类:学术文献

一、关于printf与Message命令的使用问题
不论看官方help还是已经已经编好的UDF发现对于信息提示有用printf输出的,也有用Message输出的,官方help中表示:
Important:  It is recommended that you use Message instead of printf in compiled UDFs.(编译时推荐用Message,而不是printf)。本人在编译型UDF中写printf均发现无输出,用Message时是可以正常输出的。本着试一试的态度,采用解释型UDF编写,发现情况正好相反,printf是可以正常输出的,而Message是会报错,如下图

Fluent UDF学习过程中的总结

解释型printf代码如下

#include "udf.h"

DEFINE_PROFILE(x_velocity,thread,nv)

{

float x[3];

float y;

face_t f;

begin_f_loop(f,thread)

{

F_CENTROID(x,f,thread);

y=x[1];

F_PROFILE(f,thread,nv)=20.0*(1.0- y*y/(0.004*0.004));

}

end_f_loop(f,thread)

printf("Hello world!");

}

Fluent UDF学习过程中的总结

输出是正常的。总结:

解释时 printf有效,message命令不认。

编译时 message有效。二、DEFINE_ADJUST与DEFINE_ON_DEMAND区别DEFINE_ADJUST宏在迭代过程中不断更新值,而DEFINE_ON_DEMAND仅在需要时执行,如下图。

Fluent UDF学习过程中的总结

从宏命令的使用环节图也可以看出来,如下

Fluent UDF学习过程中的总结
weinxin
我的微信公共号
我的微信公招扫一扫

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: