| 查看: 2165 | 回复: 21 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
[求助]
一个入口速度函数的UDF编程,新手实在无力,望大神不吝赐教!已有2人参与
|
||
|
入口速度是V=80*丨sin((pi*x)/0.6)丨, “丨”表示绝对值,“pi”表示圆周率。 fluent新手,对宏命令知之甚少,希望大神能帮我编写一个函数。深表感激! ![]() |
» 猜你喜欢
心脉受损
已经有5人回复
博士读完未来一定会好吗
已经有15人回复
Springer期刊投稿求助
已经有4人回复
读博
已经有3人回复
小论文投稿
已经有3人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有9人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有8人回复
申请2026年博士
已经有6人回复
15楼2015-05-19 13:00:54
【答案】应助回帖
感谢参与,应助指数 +1
|
#include "udf.h" DEFINE_PROFILE(velocity1,t,i) /* 定义属性宏 三个参数 第一是名称 第二个是线程指针 第三个是变量标号 */ { real x[ND_ND]; /* 存放2D或者3D位置参数 */ real y; /* y值为模型中的y坐标值 */ cell_t f; /* 创建网格体指针 */ begin_c_loop(f,t) /* 体线程t中所有网格体指针f的遍历循环 */ { C_CENTROID(x,f,t); /* 把体线程t中所有指针f中的网格体的中心点的坐标值赋给数组x[ND_ND] */ y = x[1]; /* 把x[ND_ND]中的第二个元素集合赋给变量y */ if ( y > 0.5 ) /* 条件判断,当y值大于0.5时,执行下列语句 */ { C_PROFILE(f, t, i) = y^2; /* y^2是表示入口速度等于y坐标值的平方,这里可以改成你要的关系式 */ } else /* 条件判断 */ { C_PROFILE(f, t, i) = 1; /* 条件判断,当y值小于0.5时,执行语句 */ } } end_c_loop(f,t) /* 遍历循环结束 */ } 最后要解释方法导入到fluent里 再在速度入口条件下导入 |

2楼2015-05-18 17:59:19

3楼2015-05-18 18:00:18
4楼2015-05-18 19:28:21














回复此楼