#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”,代表什么意思,顺序能更换吗?我需要了解到里面每一行语句以及每条语句里面每个变量代表什么意思?请求帮助
2 回答

萧十郎
TA贡献1815条经验 获得超13个赞
建议你花点时间看下 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
TA贡献1797条经验 获得超4个赞
如果你没有c语言基础,那先看看c语言,否则你看不懂udf的。
如果你会一些c语言,那么把udf看成是fluent内置的子程序,具体的语法规则参见udf manual
添加回答
举报
0/150
提交
取消