24小时热门版块排行榜    

查看: 1696  |  回复: 6

horstchen

银虫 (初入文坛)

[求助] fluent运用UDF三维弯管模拟, 如何给定进口圆周速度(初学者) 已有1人参与

本人对三维弯管进行数值模拟,模型如图1所示。
须给定进口速度,准备按轴向、径向和周向给定(velocity  specification method采用component   圆柱坐标系)。
径向速度取:0 m/s
轴向速度为常量
周向速度采用UDF 给定,具体速度公式图2所示。

之前曾采用如下UDF:
DEFINE_PROFILE(inlet_x_velocity, thread, position)
{
  real x[ND_ND]; /* this will hold the position vector */
  real y;
  face_t f;
  begin_f_loop(f,thread)
{
  F_CENTROID(x, f, thread);
  y=x[1];
  F_PROFILE(f, thread, position) = 25*pow((y*y)/(1.44*1.44),0.25);
}
  end_f_loop(f, thread)
}

求虫友们帮帮忙,给点意见,看如何实现图2中进口圆周速度

fluent运用UDF三维弯管模拟, 如何给定进口圆周速度(初学者)
图1


fluent运用UDF三维弯管模拟, 如何给定进口圆周速度(初学者)-1
图2
回复此楼

» 猜你喜欢

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

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

mwm621

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
horstchen: 金币+8, ★★★很有帮助, pow((x*x+y*y)/(1.44*1.44),0.25) 应该是xc*XC+y*y 2014-06-04 09:29:17
DEFINE_PROFILE(inlet_x_velocity, thread, position)
{
  real x[ND_ND]; /* this will hold the position vector */
  real xc,y;
  face_t f;
  begin_f_loop(f,thread)
{
  F_CENTROID(x, f, thread);
  xc=x[0];
  y=x[1];
  F_PROFILE(f, thread, position) = 25*pow((x*x+y*y)/(1.44*1.44),0.25);
}
  end_f_loop(f, thread)
}


楼主是说这个意思么?
2楼2014-06-02 11:13:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

horstchen

银虫 (初入文坛)

引用回帖:
2楼: Originally posted by mwm621 at 2014-06-02 11:13:05
DEFINE_PROFILE(inlet_x_velocity, thread, position)
{
  real x; /* this will hold the position vector */
  real xc,y;
  face_t f;
  begin_f_loop(f,thread)
{
  F_CENTROID(x, f, thread);
  xc=x; ...

fluent提示错误
invalid type for binary expression: array 3 of float * array 3 of float.

应该是
F_PROFILE(f, thread, position)=25*pow((x*x+y*y)/(1.44*1.44),0.25);
这句出错了
3楼2014-06-02 12:27:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mwm621

木虫 (小有名气)

引用回帖:
3楼: Originally posted by horstchen at 2014-06-02 12:27:12
fluent提示错误
invalid type for binary expression: array 3 of float * array 3 of float.

应该是
F_PROFILE(f, thread, position)=25*pow((x*x+y*y)/(1.44*1.44),0.25);
这句出错了...

real x[ND_ND]; /* this will hold the position vector */
...
{
  F_CENTROID(x, f, thread);
  xc=x[0];
  y=x[1];

是这个样子啊,x[ND_ND]后面必须有[]指明是哪个坐标上的点。。。
4楼2014-06-02 12:50:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

horstchen

银虫 (初入文坛)

引用回帖:
4楼: Originally posted by mwm621 at 2014-06-02 12:50:22
real x; /* this will hold the position vector */
...
{
  F_CENTROID(x, f, thread);
  xc=x;
  y=x;

是这个样子啊,x后面必须有[]指明是哪个坐标上的点。。。...

x[ND_ND]后面必须有[]指明是哪个坐标上的点

不是这个,fluent编译的UDF有x[ND_ND]

fluent提示 line 12 出问题,对应的是这句
F_PROFILE(f, thread, position)=25*pow((x*x+y*y)/(1.44*1.44),0.25)
5楼2014-06-02 13:57:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mwm621

木虫 (小有名气)

【答案】应助回帖

不知道这么做得到楼主需要的结果了么?
6楼2014-06-04 15:03:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

horstchen

银虫 (初入文坛)

引用回帖:
6楼: Originally posted by mwm621 at 2014-06-04 15:03:48
不知道这么做得到楼主需要的结果了么?

进口的周向速度与实际的不太符合,还需修改。
7楼2014-06-04 16:41:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 horstchen 的主题更新
信息提示
请填处理意见