找回密码
 注册
查看: 2415|回复: 5

【请教】怎么样实现整个区间一个变量随x值变化而变化

[复制链接]
发表于 2010-12-27 20:48:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我做的是对一个三维空间的风场分析,风向x正方向。请问,能不能用UDF实现风速V随着x值变化而变化呢?
可以的话用哪个宏来定义呢?
请大家指教~~谢谢啦 !!!
发表于 2010-12-28 14:22:26 | 显示全部楼层
这个用profile就可以实现吧
 楼主| 发表于 2010-12-28 15:37:48 | 显示全部楼层

回复 2# 浪子轻狂 的帖子

浪子兄,用profile只是定义了x=0时的值吧(我理解的,可能不对),我想定义的是随着X值变化而变化的。我要定义的风速方向是x轴正方向的。
发表于 2010-12-28 16:22:03 | 显示全部楼层
不是x=0的值,udf中,x[0]代表的是点的横坐标
 楼主| 发表于 2010-12-28 19:29:56 | 显示全部楼层

回复 4# 浪子轻狂 的帖子

#include "udf.h"
#define pi 3.14
#define dm 4000.0
DEFINE_PROFILE(inlet_x_velocity,thread,index)
{
   real x[ND_ND];         
   real x;
   face_t f;
   begin_f_loop(f,thread)
   {
      F_CENTROID(x,f,thread);
      x=x[0];
      F_PROFILE(f,thread,index)=(1-cos(pi*x/dm))*5.;
    }
    end_f_loop(f,thread)
}

浪子兄,按照这个的话应该怎么改才行? ~ 麻烦了
发表于 2010-12-29 08:15:33 | 显示全部楼层
建议你udf前先翻翻C语言和常用的udf宏定义,不一定要会自己编复杂的程序,但参考一些udf的时候,要知道具体的意思,一般的编译出错,自己知道错在哪,怎么去改。
#include "udf.h"
#define pi 3.14
#define dm 4000.0
DEFINE_PROFILE(inlet_x_velocity,thread,index)
{
   real x[ND_ND];         
   real y;
   face_t f;
   begin_f_loop(f,thread)
   {
      F_CENTROID(x,f,thread);
      y=x[0];
      F_PROFILE(f,thread,index)=(1-cos(pi*y/dm))*5.;
    }
    end_f_loop(f,thread)
}

[ 本帖最后由 浪子轻狂 于 2010-12-29 00:19 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表