24小时热门版块排行榜    

查看: 1840  |  回复: 4

ltpreason

新虫 (初入文坛)

[求助] udf程序改为并行

程序的目的是根据监测点的压力调节入口的质量流量,维持监测点的压力近似恒定,单核计算时程序可以用,一旦并行就出错,自己试着按帮助里的方法改一直没通(比如加#if !HOST #endif之类),恳请各位指点,先谢过了!把自己的金币全部悬赏!
DEFINE_ADJUST(get_p_monitor,d)
{
     Thread *t;
     cell_t c;
     real xc[ND_ND];/*网格质心坐标*/
     thread_loop_c(t,d)
      {
              begin_c_loop(c,t)
                  {
                              C_CENTROID(xc,c,t);
                              if (sqrt(ND_SUM(pow(xc[0] + 2.,2.),
                                                        pow(xc[1] -1.3,2.),
                                                        pow(xc[2]-0.,2.)))<0.01
                              pressure=C_P(c,t);/*点(-2,1.3,0)为监测点,当网格质心与监测点的距离小于0.01时,认为该网格的压力就是监测点的压力*/
                   }
           end_c_loop(c,t)
     }
printf("\n pressure=%g\n",pressure);
}

DEFINE_PROFILE(mass_inlet_as_p,t,i)
{
     face_t f;
     real mass=0.5;
     if(pressure<=480000.)
     mass=mass+0.01;
     else if(pressure>480000.&&.pressure<520000.)/*根据监测点的压力调节入口质量流量*/
     mass=mass;
     else
     mass=mass-0.01;
     begin_f_loop(f,t)
     {
        F_PROFILE(f,t,i)=mass;
     }
     end_f_loop(f,t)
printf("\n pressure=%g\n",pressure);
}
如果一并行,每计算一步会出现四个压力值(我用四核并行),其中一个为真实值,另三个是0,然后到下面用压力判断质量流量时用的一直是那个0的压力,所以就流量一直升高。
回复此楼

» 猜你喜欢

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

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

ltpreason

新虫 (初入文坛)

恳请高手帮忙。焦虑中……
2楼2013-11-06 18:00:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ltpreason

新虫 (初入文坛)

大家帮帮我吧。。。
3楼2013-11-07 20:23:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ltpreason

新虫 (初入文坛)

救星在哪里???
4楼2013-11-14 19:19:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pointh

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★
1592203609: 金币+5, 谢谢回帖 2013-11-15 21:29:15
DEFINE_ADJUST(get_p_monitor,d)
{
     Thread *t;
     cell_t c;
     real xc[ND_ND];
     thread_loop_c(t,d)
      {
              begin_c_loop(c,t)
                  {
                              C_CENTROID(xc,c,t);
                              if (sqrt(ND_SUM(pow(xc[0] + 2.,2.),
                                                        pow(xc[1] -1.3,2.),
                                                        pow(xc[2]-0.,2.)))<0.01
                              pressure=C_P(c,t);
/*你这里前面网格的压力会不断的被后面网格所覆盖,Fluent会循环所有网格,所以最后输出的pressure变量只是最后一个网格的压力。可把C_P(c,t)放在一个UDM里面(自己查查,不难)*/
                   }
           end_c_loop(c,t)
     }
printf("\n pressure=%g\n",pressure);        
/*由于并行时流场会被分为几份,输出时有的区域的压力就会输出为零。pressure初始化为零?省略了?*/
}

DEFINE_PROFILE(mass_inlet_as_p,t,i)
{
     face_t f;
     real mass=0.5;
     if(pressure<=480000.)
     mass=mass+0.01;
     else if(pressure>480000.&&.pressure<520000.)/*根据监测点的压力调节入口质量流量*/
     mass=mass;
     else
     mass=mass-0.01;
     begin_f_loop(f,t)
     {
        F_PROFILE(f,t,i)=mass;
     }
     end_f_loop(f,t)
printf("\n pressure=%g\n",pressure);
/*这种写法输出不会崩溃?这里不是每个网格都输出?我记得DEFINE_PROFILE会循环每个网格,也就是每个网格应该都会执行printf啊?*/
}
5楼2013-11-15 17:55:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ltpreason 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 今天系统多次维护,明天很可能放榜! +5 zju2000 2026-08-16 5/250 2026-08-16 23:23 by Haru815
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +32 医学老男孩 2026-08-13 74/3700 2026-08-16 21:05 by 医学老男孩
[论文投稿] 岩土工程学报什么时候才能终审完呐 25+3 yeager111 2026-08-10 4/200 2026-08-16 20:42 by tfang
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +11 家与远方 2026-08-10 16/800 2026-08-16 10:28 by ray43
[基金申请] filecode +8 cratir 2026-08-14 12/600 2026-08-15 18:08 by zyfgau
[基金申请] 关于Filecode分析方法 +10 majunge000 2026-08-10 13/650 2026-08-15 12:26 by hanpeng972
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +8 布布和一二 2026-08-10 11/550 2026-08-14 14:58 by Equinoxhua
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] filecode +15 documentary 2026-08-10 17/850 2026-08-14 10:08 by kissu88
[基金申请] FileCode能看出啥? +10 要乐观耀哥 2026-08-10 32/1600 2026-08-14 09:37 by 要乐观耀哥
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
信息提示
请填处理意见