24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2365  |  回复: 10

twerypard

新虫 (初入文坛)

[求助] 单机多核并行运算下的UDF编译求助已有4人参与

楼主最近初学UDF编译,需要实现进口速度随时间变化,在参照一些网上的算例后已经编好了以下的UDF程序
#include "udf.h"
DEFINE_PROFILE(inlet_velocity,thread,position)
{
real t,v;
face_t f;
begin_f_loop(f,thread)
{
t=RP_Get_Real("flow-time" );
{
if(t>0 && t<=60)
{
v=2t+1;
}

else if(t>60 && t<=300)
{
v=t+61;
}

}
F_PROFILE(f,thread,position)=v;
}
end_f_loop(f,thread)
}
以上的UDF程序,导入串行单核运算时没有问题,但是多核计算的话就会报错,看了网上的解决办法说要在UDF里面加语句以实现多核运算,但是楼主实在是初学者不懂怎么加啊?求大神指导!
回复此楼

» 猜你喜欢

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

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

achilFes1990

木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
报错的提示是什么,如果你只有这一个宏的话,单机多核应该是没问题的

[ 发自手机版 http://muchong.com/3g ]
扫一扫关注我的微信公众号,共同学习船舶CFD
2楼2014-12-02 00:28:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

achilFes1990

木虫 (著名写手)

【答案】应助回帖

我看了一下程序,你的if语句之前是不是多用了一层函数体,去掉试试

[ 发自手机版 http://muchong.com/3g ]
扫一扫关注我的微信公众号,共同学习船舶CFD
3楼2014-12-02 00:30:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

追梦人_X

新虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
我做过一个单机多核例子,我的方法是,安装了visual studio2010,tongguo通过dos方式打开fluent,bingshe设置多核计算,编译udf,可以计算。

[ 发自小木虫客户端 ]
4楼2014-12-02 07:22:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

追梦人_X

新虫 (初入文坛)

【答案】应助回帖

没添加额外语句,fluent版本15

[ 发自小木虫客户端 ]
5楼2014-12-02 07:24:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小七工作室1

新虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
这个直接解释通过就行  应没有问题的
6楼2014-12-02 09:04:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

twerypard

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by achilFes1990 at 2014-12-02 00:28:35
报错的提示是什么,如果你只有这一个宏的话,单机多核应该是没问题的

error: udf compiler: cannot execute cpp -I"D:\Fluent\Fluent.Inc\fluent6.3.26/src" -I"D:\Fluent\Fluent.Inc\fluent6.3.26/cortex/src" -I"D:\Fluent\Fluent.Inc\fluent6.3.26/client/src" -I"D:\Fluent\Fluent.Inc\fluent6.3.26/multiport/src" -I. -DUDFCONFIG_H="<u
fconfig-host.h>" "E:\UDF test\velocity.c"

cpp -I"D:\Fluent\Fluent.Inc\fluent6.3.26/src" -I"D:\Fluent\Fluent.Inc\fluent6.3.26/cortex/src" -I"D:\Fluent\Fluent.Inc\fluent6.3.26/client/src" -I"D:\Fluent\Fluent.Inc\fluent6.3.26/multiport/src" -I. -DUDFCONFIG_H="<C:/Users/TWERYP~1/AppData/Local/Temp/
dfconfig-node0.h>" "C:/Users/TWERYP~1/AppData/Local/Temp/velocity.c.0.c"

cpp -I"D:\Fluent\Fluent.Inc\fluent6.3.26/src" -I"D:\Fluent\Fluent.Inc\fluent6.3.26/cortex/src" -I"D:\Fluent\Fluent.Inc\fluent6.3.26/client/src" -I"D:\Fluent\Fluent.Inc\fluent6.3.26/multiport/src" -I. -DUDFCONFIG_H="<C:/Users/TWERYP~1/AppData/Local/Temp/
dfconfig-node1.h>" "C:/Users/TWERYP~1/AppData/Local/Temp/velocity.c.1.c"

cpp -I"D:\Fluent\Fluent.Inc\fluent6.3.26/src" -I"D:\Fluent\Fluent.Inc\fluent6.3.26/cortex/src" -I"D:\Fluent\Fluent.Inc\fluent6.3.26/client/src" -I"D:\Fluent\Fluent.Inc\fluent6.3.26/multiport/src" -I. -DUDFCONFIG_H="<C:/Users/TWERYP~1/AppData/Local/Temp/
dfconfig-node2.h>" "C:/Users/TWERYP~1/AppData/Local/Temp/velocity.c.2.c"

cpp -I"D:\Fluent\Fluent.Inc\fluent6.3.26/src" -I"D:\Fluent\Fluent.Inc\fluent6.3.26/cortex/src" -I"D:\Fluent\Fluent.Inc\fluent6.3.26/client/src" -I"D:\Fluent\Fluent.Inc\fluent6.3.26/multiport/src" -I. -DUDFCONFIG_H="<C:/Users/TWERYP~1/AppData/Local/Temp/
dfconfig-node3.h>" "C:/Users/TWERYP~1/AppData/Local/Temp/velocity.c.3.c"
这就是报错内容
7楼2014-12-02 09:05:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

twerypard

新虫 (初入文坛)

引用回帖:
6楼: Originally posted by 小七工作室1 at 2014-12-02 09:04:07
这个直接解释通过就行  应没有问题的

求问怎么解释啊?初学者不懂啊!
8楼2014-12-02 09:06:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

死天

专家顾问 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
v=2*t+1;这个错了,不是2t没有乘号,不要用并行语句。改过来就能用了
9楼2014-12-02 09:18:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

twerypard

新虫 (初入文坛)

引用回帖:
9楼: Originally posted by 死天 at 2014-12-02 09:18:36
v=2*t+1;这个错了,不是2t没有乘号,不要用并行语句。改过来就能用了

改了还是没用啊,单行可以用但是并行不能
10楼2014-12-02 19:13:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 twerypard 的主题更新
信息提示
请填处理意见