CyRhmU.jpeg
查看: 2218  |  回复: 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的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

znon

金虫 (小有名气)

【答案】应助回帖

★ ★ ★
xiegangmai: 金币+3, 鼓励讨论交流! 2013-04-18 00:01:00
引用回帖:
9楼: Originally posted by xiaoheimc at 2013-04-17 15:47:59
fluent中UDF密度不是通过C_R(c,t)设定的么,用rho也可以么?我是新手,真的是不懂这些!帮忙讲解一下呗...

DEFINE_PROPERTY可以用来自定义密度/粘度等,而密度/粘度等参数自定义时,只需写出对其有影响的表达式,也即rho = f(x), 其中x 是影响密度的自变量,UDF完成后,你将其加载到密度选项上,就是改变密度,如果加载到粘度上,就是改变粘度。而不是像你原来写的强制赋值。

另外,多说一句,在计算之前,无论对物理模型还是软件的设置,都要确定理解和熟悉后再动手,你现在盲目算下去后,只能浪费时间。
10楼2013-04-17 16:32:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

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的回帖

苦逼小电弧

铜虫 (小有名气)

【答案】应助回帖

★ ★
感谢参与,应助指数 +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的回帖

xiaoheimc

金虫 (初入文坛)

引用回帖:
4楼: Originally posted by znon at 2013-04-17 11:11:38
查一下else和else if的区别,去掉else后面括号内判断的语句。
#include "udf.h"
DEFINE_PROPERTY(cell_density,c,t)
{
real x;
C_CENTROID(x,c,t);
if (0<x(0)&&x(0)<40)
  C_ ...

还是不行,编译时还是出现提示说语法错误(Error: D:\example\exam-3\cell\243\337density.udf.c: line 5: parse error.)
6楼2013-04-17 13:14:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaoheimc

金虫 (初入文坛)

引用回帖:
5楼: Originally posted by 苦逼小电弧 at 2013-04-17 11:38:38
#include "udf.h"
DEFINE_PROPERTY(cell_density,c,t)
{
real x;
C_CENTROID(x,c,t);
if (0<x&&x<40)
  C_R(c,t)=0.98;
esle
   C_R(c,t)=1.02;
return C_R(c,t);
}

...

编译后还是提示语法错误(Error: D:\example\exam-3\cell\243\337density.udf.c: line 5: parse error.)。
7楼2013-04-17 13:15:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

znon

金虫 (小有名气)

【答案】应助回帖

★ ★ ★
xiegangmai: 金币+2, 谢谢参与! 2013-04-18 00:00:52
xiaoheimc: 金币+1, ★★★很有帮助 2013-04-18 08:59:23
引用回帖:
7楼: Originally posted by xiaoheimc at 2013-04-17 13:15:22
编译后还是提示语法错误(Error: D:\example\exam-3\cell\243\337density.udf.c: line 5: parse error.)。...

见附件,亲测可用。
http://pan.baidu.com/share/link?shareid=394766&uk=3358341597
8楼2013-04-17 15:23:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaoheimc

金虫 (初入文坛)

引用回帖:
8楼: Originally posted by znon at 2013-04-17 15:23:49
见附件,亲测可用。
http://pan.baidu.com/share/link?shareid=394766&uk=3358341597...

fluent中UDF密度不是通过C_R(c,t)设定的么,用rho也可以么?我是新手,真的是不懂这些!帮忙讲解一下呗
9楼2013-04-17 15:47:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xiaoheimc 的主题更新
信息提示
请填处理意见