24小时热门版块排行榜    

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

yanboliu

金虫 (小有名气)

[求助] udf 并行计算 已有1人参与

请教各位,以下udf 单核可以成功计算,求相应多核计算程序
#include "udf.h"
#include "math.h"

DEFINE_PROFILE(unsteady_temperature, thread, position)
{

real t, temperature;
face_t f;

begin_f_loop(f, thread)
{
t = RP_Get_Real("flow-time";
temperature = 295.869+5.3462*pow(10,-18)*pow(t,4)-6.3431*pow(10,-13)*pow(t,3)+1.2431*pow(10,-8)*t*t+0.00042227*t;
F_PROFILE(f, thread, position) = temperature;
}
end_f_loop(f, thread)

}
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 多核.doc
  • 2015-05-27 23:35:00, 14.5 K

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

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

yanboliu

金虫 (小有名气)

引用回帖:
12楼: Originally posted by achilFes1990 at 2015-07-21 07:48:31
那你怎么做到流动时间从零开始,而压力场,速度场保持不变呢?
这样的话,倒不如先用稳态计算,等流场稳定之后在转换成瞬态进行计算,这也是常用的方法。
...

谢谢您给我回复,您说的方法我试过了,用稳态计算然后再转换成瞬态的方法中,温度场有改变,变成了均匀的温度场,而我要的是在计算一个周期后温度场不变,而计算时间从0开始的这种效果,因为有一个fluent的内置程序需要时间重新开始才会周期性的起作用。我想是不是可以编写用编写UDF程序的的办法使流动时间和时间步在大于一定的数值后,将他们再赋值为0,可是我又不会用C语言编程,因此,向您请教。
13楼2015-07-21 14:41:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 16 个回答

kylafree

至尊木虫 (知名作家)

你这个UDF的功能,单核跟多核是一样的,不用作修改

» 本帖已获得的红花(最新10朵)

3楼2015-06-01 10:05:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yanboliu

金虫 (小有名气)

引用回帖:
3楼: Originally posted by kylafree at 2015-06-01 10:05:56
你这个UDF的功能,单核跟多核是一样的,不用作修改

您好,谢谢您的回复,但是我把这各UDF导入多核,显示找不到math.h,请问能继续向您请教吗?
4楼2015-06-02 11:31:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

achilFes1990

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
yanboliu: 金币+25, ★★★★★最佳答案, 谢谢您的回复,改了下能运行了,还有一个问题:我的电脑在进行FLUENT多核计算的时候为什么会自动退出呢? 2015-06-02 18:14:47
引用回帖:
3楼: Originally posted by kylafree at 2015-06-01 10:05:56
你这个UDF的功能,单核跟多核是一样的,不用作修改

我觉得这个#include "math.h",是否可以去掉?
我之前有时候加上和去掉,貌似都没有什么问题

这个程序确实单双核都一样,但是有些写法还不是特别标准,有些整数后面最好加上.0以保证其为real类型
扫一扫关注我的微信公众号,共同学习船舶CFD
5楼2015-06-02 12:59:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见