24小时热门版块排行榜    

查看: 1393  |  回复: 5

潇叶飞扬

金虫 (正式写手)

[求助] 曳力模型udf要并行计算,该怎么修改呢

这是我单机进行计算时用的udf代码:
#include "udf.h"

#define pi 4.*atan(1.)
#define diam2 3.e-4

DEFINE_EXCHANGE_PROPERTY(custom_drag3,cell,mix_thread,s_col,f_col)
{
Thread *thread_g, *thread_s;
real x_vel_g, x_vel_s, y_vel_g, y_vel_s, abs_v, slip_x, slip_y,
      rho_g, rho_s, mu_g, reyp, afac,
      bfac, void_g, vfac, fdrgs, taup, k_g_s;

/* find the threads for the gas (primary) */
/* and solids (secondary phases)          */

thread_g = THREAD_SUB_THREAD(mix_thread, s_col);/* gas phase  */
thread_s = THREAD_SUB_THREAD(mix_thread, f_col);/* solid phase*/

/* find phase velocities and properties*/

x_vel_g = C_U(cell, thread_g);
y_vel_g = C_V(cell, thread_g);

x_vel_s = C_U(cell, thread_s);
y_vel_s = C_V(cell, thread_s);

slip_x = x_vel_g - x_vel_s;
slip_y = y_vel_g - y_vel_s;

rho_g = C_R(cell, thread_g);
rho_s = C_R(cell, thread_s);

mu_g = C_MU_L(cell, thread_g);

/*compute slip*/
abs_v = sqrt(slip_x*slip_x + slip_y*slip_y);

/*compute Reynold's number*/

reyp = rho_g*abs_v*diam2/mu_g;

/* compute particle relaxation time */

taup = rho_s*diam2*diam2/18./mu_g;

void_g = C_VOF(cell, thread_g);/* gas vol frac*/

/*compute drag and return drag coeff, k_g_s*/

afac = pow(void_g,4.14);

if(void_g<=0.85)
  bfac = 0.281632*pow(void_g, 1.28);
else
  bfac = pow(void_g, 9.076960);

vfac = 0.5*(afac-0.06*reyp+sqrt(0.0036*reyp*reyp+0.12*reyp*(2.*bfac-
              afac)+afac*afac));
fdrgs = void_g*(pow((0.63*sqrt(reyp)/
                            vfac+4.8*sqrt(vfac)/vfac),2))/24.0;

k_g_s = (1.-void_g)*rho_s*fdrgs/taup;

return k_g_s;
}

现在需要换到服务器上进行并行计算,需要加一些语句,该怎么加呢?哪位知道的帮帮忙啊

[ 来自科研家族 流体数值模拟 ]
回复此楼

» 猜你喜欢

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

对世界来讲,你只是普通的一个人,但对某个人来讲,你就是全世界
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kylafree

至尊木虫 (知名作家)

【答案】应助回帖


感谢参与,应助指数 +1
xiegangmai: 金币+1, 谢谢参与! 2012-04-11 22:39:01
某些情形下需要修改,某些情形下不需要修改,看你想用UDF做什么。你不妨直接把这段UDF用并行算一下,看结果满足你的要求否
2楼2012-03-30 17:17:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

潇叶飞扬

金虫 (正式写手)

引用回帖:
2楼: Originally posted by kylafree at 2012-03-30 17:17:50:
某些情形下需要修改,某些情形下不需要修改,看你想用UDF做什么。你不妨直接把这段UDF用并行算一下,看结果满足你的要求否

就是编译错误,所以觉得需要改一下
对世界来讲,你只是普通的一个人,但对某个人来讲,你就是全世界
3楼2012-03-30 20:39:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kylafree

至尊木虫 (知名作家)

引用回帖:
3楼: Originally posted by 潇叶飞扬 at 2012-03-30 20:39:13:
就是编译错误,所以觉得需要改一下

编译错误你得把错误代码贴出来啊
4楼2012-03-30 20:50:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

潇叶飞扬

金虫 (正式写手)

引用回帖:
4楼: Originally posted by kylafree at 2012-03-30 20:50:57:
编译错误你得把错误代码贴出来啊

单机四核并行计算编译时提示错误:error:C compiler cannot execute cpp-I“c:\fluent.inc\...",
这种情况改怎么修改呢
对世界来讲,你只是普通的一个人,但对某个人来讲,你就是全世界
5楼2012-04-11 16:53:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ZBINYAN

新虫 (初入文坛)

引用回帖:
5楼: Originally posted by 潇叶飞扬 at 2012-04-11 16:53:35
单机四核并行计算编译时提示错误:error:C compiler cannot execute cpp-I“c:\fluent.inc\...",
这种情况改怎么修改呢...

你好,我也遇到了这样的情况,之前电脑和fluent都是32位的,没问题,现在电脑换成了64位,fluent还是32位,用interpret 编译的时候就出现这个错误了,请问你是怎么解决的呢?
6楼2015-10-18 20:16:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 潇叶飞扬 的主题更新
信息提示
请填处理意见