24小时热门版块排行榜    

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

青色草原11

新虫 (初入文坛)

[求助] udf编写问题

有一个圆形的大盘,温度是随着半径的增大而减小的,t=1300-r*r/(0.28*0.28)*1000,我试了好几次就是编写成功不了,帮助文件中的例子也看了,它只能是随着y坐标线性增减的,请高手帮助编写一下,或将相关的例子传我一份,本人万分感激,分数多多的给。还有c语言中的数学函数好像调用不了如abs,sqrt等,调用就会报错,高手指点。
回复此楼

» 猜你喜欢

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

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

青色草原11

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by fangdian at 2012-12-09 11:26:30
首先,你得用编译型的UDF,其次,使用这些函数的时候,如果识别不了,加上头文件math.h
  如:
#include "math.h"

还是使用不了的话,可能是环境变量没有设置好。建议你网上看看怎么设置环境变量。 ...

1.我用的就是编译型的 udf2.你说的这个math.h我也想到了3环境变量也没问题这个我试过别的了能做的,温度就是壁面上加载的温度
#include "udf.h"

DEFINE_PROFILE(pressure_profile, t, i)
{
  real x[ND_ND];                /* this will hold the position vector */
  real y;
  face_t f;

  begin_f_loop(f, t)
    {
      F_CENTROID(x,f,t);
      y = x[1];
      F_PROFILE(f, t, i) = 300+y*y/(.0745*.0745)*100;
    }
  end_f_loop(f, t)
}我是按着这个摸板编写的,当然我写的程序不是这样的,但是数组是一维的.只能随着y坐标的变化而改变.无法表达到原点的距离,我一直很困惑,不知用哪个摸版编写,自己也想不出来。谢谢你的回复!等待你的回答
3楼2012-12-10 11:12:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

fangdian

木虫 (正式写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
xiegangmai: 金币+2, 谢谢参与 2012-12-09 11:26:53
首先,你得用编译型的UDF,其次,使用这些函数的时候,如果识别不了,加上头文件math.h
  如:
#include "math.h"

还是使用不了的话,可能是环境变量没有设置好。建议你网上看看怎么设置环境变量。

ps:建议将你问题描述详细一些,比如,你所说的温度,是自己加载的温度吗?在哪加载?壁面上?
2楼2012-12-09 11:26:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fangdian

木虫 (正式写手)

要不你上传你的case和udf文件吧,这样还是太笼统了
4楼2012-12-10 14:28:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

b07988

金虫 (正式写手)

星期六可以休息

★ ★
xiegangmai: 金币+2, 谢谢参与 2012-12-12 21:23:44
udf 不管是解释还是编译,都能用sqrt和fabs(最好fabs代替abs),还有就是lz最好确定下是这个函数调用的问题吗?
调试程序的时候,应该细化到每一个的细节上。调试的时候,可以加上message或者fprintf,方便调试。
先做最重要的事情,再做次重要的事情
5楼2012-12-12 19:18:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见