24小时热门版块排行榜    

查看: 812  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

jinjiaoshou

新虫 (初入文坛)

[求助] 求助,udf常数设定问题 已有2人参与

有一个常数,在y小于60的时候等于0.03,大于60小于120时等于0.06,请问怎么用udf写出来
不是物性参数,不是边界条件,就是一个后面计算中要用的常数
我用
#include "udf.h"
#define dp
real x[ND_ND];
real y;
cell_t c;
Thread *t;
C_CENTROID(x,c,t);
y=x[1];
if(y>0.06)
dp=0.06;
else
dp=0.03;
但是提示parse error
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

moons2

金虫 (正式写手)

引用回帖:
3楼: Originally posted by jinjiaoshou at 2015-05-18 18:04:54
但是我好多个宏都要用这个,难道每个都写一遍?而且问题在哪啊,我就算写到udf里也会显示错误...

写到具体的宏函数里应该不会有错吧
4楼2015-05-18 19:46:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

moons2

金虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
判断常数的语句编写在要用到的udf里,难道你还要这个udf的功能就是判断这个常数?
2楼2015-05-18 17:55:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jinjiaoshou

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by moons2 at 2015-05-18 17:55:35
判断常数的语句编写在要用到的udf里,难道你还要这个udf的功能就是判断这个常数?

但是我好多个宏都要用这个,难道每个都写一遍?而且问题在哪啊,我就算写到udf里也会显示错误
3楼2015-05-18 18:04:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liukan12

银虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
jinjiaoshou: 金币+5, ★★★★★最佳答案 2015-05-18 20:45:44
fluent udf是一个插入语句 所以要与原程序挂钩
C_CENTROID(x,c,t);
这句需要找到线程t 所对应的所有网格体 所以你必须要插入 才能和这个线程t挂钩
要不然你这里所指的网格体的y坐标 到底是哪一些网格体 它是找不到的
还有语句要用大括号括起来
如果不怕麻烦的话 每一遍加入也是可以的 因为毕竟我们用到的UDF是少量的 大量的UDF极难收敛
如果要真弄的话 要用到User-Defined Memory宏 需要单独为你这个变量Dp分配一个存储空间 并且在编程之前需要释放空间 整个会比这个麻烦得多
ANSYSFluent流体仿真研究人员。
5楼2015-05-18 20:42:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见