猿问

不是很明白udf的构造以及运行机制,比如:

#include"udf.h"
DEFINE_PROFILE(unsteady_pressure,thread,position)
{
float t,pressure;
face_t f;
t=RP_Get_Real("flow-time");
pressure=156000*sin(125600*t);
begin_f_loop(f,thread)
{
F_PROFILE(f,thread,position)=pressure;
}
end_f_loop(f,thread)
}
这个文件,第一行定义了什么,括号内的三个“unsteady_pressure,thread,position”,代表什么意思,顺序能更换吗?我需要了解到里面每一行语句以及每条语句里面每个变量代表什么意思?请求帮助

交互式爱情
浏览 223回答 2
2回答

萧十郎

建议你花点时间看下 C 语言基础这是一个定义压力边界条件的UDF,用到一些宏,可以查FLUENT 的 UDF 文档#include "udf.h"  /* udf.h 文件包含了UDF相关的常用函数或类型的声明 */DEFINE_PROFILE(unsteady_pressure, thread, position)  /*这其实是一个宏,展开后是函数类型的声明,unsteady_pressure是函数名,其他两个是参数,用来遍历边界面上单元 */{float t,pressure;face_t f; t=RP_Get_Real("flow-time");  /*这里调用了获取流动模拟的物理时间函数*/pressure=156000*sin(125600*t); /*压力值是时间的函数*/ begin_f_loop(f,thread) /* 遍历面上的所有单元,这个是图形界面上选择压力边界为“unsteady_pressure”的面 */{  F_PROFILE(f,thread,position)=pressure; /* 设置单元面上的压力值 */}end_f_loop(f,thread)}

繁星coding

如果你没有c语言基础,那先看看c语言,否则你看不懂udf的。如果你会一些c语言,那么把udf看成是fluent内置的子程序,具体的语法规则参见udf manual
随时随地看视频慕课网APP

相关分类

Java
CSS3
我要回答