24小时热门版块排行榜    

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

xiaoheimc

金虫 (初入文坛)

[求助] UDF编译时出现语法错误

/***********************************************/
/*UDF for specifying density in different cells*/
/***********************************************/
#include "udf.h"
DEFINE_PROPERTY(cell_density,c,t)
{
real x;
C_CENTROID(x,c,t);
if(0 esle(x>=40) C_R(c,t)=1.02;
return C_R(c,t);

这个是自己编的UDF,在fluent中编译时说是程序第五行有语法错误(Error: D:\example\exam-3\cell\243\337density.udf.c: line 5: parse error.),各位高手帮忙看一下问题出在哪里。不胜感激!
回复此楼

» 猜你喜欢

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

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

苦逼小电弧

铜虫 (小有名气)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
xiegangmai: 金币+2, 谢谢参与! 2013-04-18 00:00:42
#include "udf.h"
DEFINE_PROPERTY(cell_density,c,t)
{
real x[ND_ND];
C_CENTROID(x,c,t);
if (0   C_R(c,t)=0.98;
esle
   C_R(c,t)=1.02;
return C_R(c,t);
}

我修改的,不知道对不对
5楼2013-04-17 11:38:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 14 个回答

lh1984152346

新虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★
感谢参与,应助指数 +1
xiegangmai: 金币+2, 鼓励讨论交流! 2013-04-16 23:42:27
xiaoheimc: 金币+2, ★★★很有帮助 2013-04-18 08:58:21
是不是if(0 应该if(x(0)>0&&x(0)<40) C_R(c,t)=0.98

还有你是2维还是3维
2维 x,y分别用x(0),x(1)表示
3维 x,y,z分别用x(0),x(1),x(2)表示
2楼2013-04-16 22:28:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaoheimc

金虫 (初入文坛)

引用回帖:
2楼: Originally posted by lh1984152346 at 2013-04-16 22:28:37
是不是if(0<x<40) C_R(c,t)=0.98;错误
应该if(x(0)>0&&x(0)<40) C_R(c,t)=0.98

还有你是2维还是3维
2维 x,y分别用x(0),x(1)表示
3维 x,y,z分别用x(0),x(1),x(2)表示

是二维的,不过改了以后还是出现同样的提示。下面是修改后的UDF
/***********************************************/
/*UDF for specifying density in different cells*/
/***********************************************/
#include "udf.h"
DEFINE_PROPERTY(cell_density,c,t)
{
real x;
C_CENTROID(x,c,t);
if (0 esle (x(0)>=40) C_R(c,t)=1.02;
return C_R(c,t);
}
为什么呢?
3楼2013-04-17 09:21:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

znon

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★
感谢参与,应助指数 +1
xiegangmai: 金币+2, 谢谢参与! 2013-04-18 00:00:35
xiaoheimc: 金币+2, ★★★很有帮助 2013-04-18 08:58:55
引用回帖:
3楼: Originally posted by xiaoheimc at 2013-04-17 09:21:25
是二维的,不过改了以后还是出现同样的提示。下面是修改后的UDF
/***********************************************/
/*UDF for specifying density in different cells*/
/********************************** ...

查一下else和else if的区别,去掉else后面括号内判断的语句。
#include "udf.h"
DEFINE_PROPERTY(cell_density,c,t)
{
real x;
C_CENTROID(x,c,t);
if (0   C_R(c,t)=0.98;
esle
   C_R(c,t)=1.02;
return C_R(c,t);
}
4楼2013-04-17 11:11:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见