Fluent_udf文件问题

不是很明白udf的构造以及运行机制,比如#include"udf.h"DEFINE_PROFILE(unsteady_pressure,thread,position){... 不是很明白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”,代表什么意思,顺序能更换吗?哪里可以下载到非常详细的教程或者哪本书比较好?我需要了解到里面每一行语句以及每条语句里面每个变量代表什么意思?请求帮助,我多多给分
展开
 我来答
fox000002
2013-08-07 · TA获得超过3827个赞
知道大有可为答主
回答量:2356
采纳率:97%
帮助的人:1174万
展开全部

建议lz花点时间看下 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)
}
追问
非常感谢您的帮助,不过我还有几个问题:
首先,udf中调用的函数(比如这里获取流动模拟的物理时间函数)自己在用之前都要清楚,可是自己怎么才能知道到底需要哪个函数呢?
其次,C语言我几年前看过一段时间,时间太久,有点遗忘,现在需要弥补哪方面的知识?
再次,看到您上面的这个程序,我想问一下,您是用什么编程软件呢?
最后,再次感谢您的帮助,在以后能否继续帮助我?怎么才能更方面的得到您的帮助?
追答
最重要的是查文档和代码。

C 语言的话,至少要看一遍UDF文档里讲的C语言基础吧。

编程的话,简单的就用文本编辑器,深入些就用专业的代码编辑器或Visual Studio 等IDE
百度网友7e80cae33
2013-08-07 · TA获得超过620个赞
知道小有建树答主
回答量:774
采纳率:50%
帮助的人:526万
展开全部
如果你没有c语言基础,那先看看c语言,否则你看不懂udf的。
如果你会一些c语言,那么把udf看成是fluent内置的子程序,具体的语法规则参见udf manual
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hhhhhhh858
2018-08-24
知道答主
回答量:2
采纳率:0%
帮助的人:1511
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式