24小时热门版块排行榜    

查看: 3886  |  回复: 22

jesseliuxl

金虫 (小有名气)

[求助] 100个金币:udf改成并行的,求高人

本例是通过出口的浓度与进口关联,串行没问题,并行就一直没搞通,求高人
CODE:
#include "udf.h"
#include "mem.h"
#define q 998
#define out 960
#define film-out 28
#define INT_YI 0.03
real AVG_YI;

DEFINE_ADJUST(outlet_avg_yi, d)
{

real sum_yi_A=0.0;
int j=0;
face_t f;
Thread *thread_out=Lookup_Thread(d,5);
  begin_f_loop(f,thread_out)
{
  sum_yi_A+=F_YI(f,thread_out,0);
  j++;      
}
end_f_loop(f,thread_out)

  AVG_YI=sum_yi_A/j;

printf("%f\n",sum_yi_A);/* write out kount to data file */
printf("%f\n",AVG_YI);
printf("%d\n",j);
}


DEFINE_PROFILE(inlet,thread_in,index)
{
    real inlet_yi=0.0;
    face_t inlet_face;
  
    real time=RP_Get_Real("flow-time");   
    begin_f_loop(inlet_face,thread_in)
        {
          if(time<9)
        {
         inlet_yi=INT_YI;
          F_PROFILE(inlet_face,thread_in,index)=inlet_yi;
        }
        
          else
        {
          inlet_yi=AVG_YI+0.2*out/q;
          F_PROFILE(inlet_face,thread_in,index)=inlet_yi;
        }
      }
        end_f_loop(inlet_face,thread_in)   

     printf("%f\n",inlet_yi);                     
     }

[ Last edited by xiegangmai on 2012-4-11 at 22:36 ]
回复此楼

» 猜你喜欢

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

生命不息折腾不止
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

jesseliuxl

金虫 (小有名气)

★ ★
jesseliuxl: 回帖置顶 2012-04-06 09:45:48
xiegangmai: 金币+2, 鼓励分享解决经验,金币奖励! 2012-04-06 10:11:20
xiegangmai: 编辑内容 2012-04-06 10:11
并行的udf
CODE:
#include "udf.h"
#include "mem.h"  
#define q 989.57
#define film_out 72.59
#define cir_out 916.98

#define INT_YI 0.022
real AVG_YI=0.0;

DEFINE_ADJUST(out, d)
     {
      real sum_yi_A=0.0;
      real sum_flux_A=0.0;
      int j=0;

   #if !RP_HOST
      face_t f;
      Thread *thread_out;
   #endif
   #if !RP_HOST
      thread_out=Lookup_Thread(d,19);
   
      begin_f_loop(f,thread_out)
       if (PRINCIPAL_FACE_P(f,thread_out))
       {
         sum_yi_A+=F_YI(f,thread_out,0)*F_FLUX(f,thread_out);
         sum_flux_A+=F_FLUX(f,thread_out);      
       }
      end_f_loop(f,thread_out)
   #endif  
   
     #if RP_NODE
      sum_yi_A=PRF_GRSUM1(sum_yi_A);
      sum_flux_A=PRF_GRSUM1(sum_flux_A);
     #endif

      node_to_host_real_2(sum_yi_A,sum_flux_A);  

      AVG_YI=sum_yi_A/sum_flux_A;
}

DEFINE_PROFILE(in,thread_in,index)
   {
    real inlet_yi=0.0;
    face_t inlet_face;
    #if !RP_HOST
    real time=RP_Get_Real("flow-time");
  
    begin_f_loop(inlet_face,thread_in)
     if (PRINCIPAL_FACE_P(inlet_face,thread_in))  
       {
          if(time<9)
           {
             inlet_yi=INT_YI;
             F_PROFILE(inlet_face,thread_in,index)=inlet_yi;
           }
         
          else
           {
             inlet_yi=AVG_YI*cir_out/q+INT_YI;
             F_PROFILE(inlet_face,thread_in,index)=inlet_yi;
           }
        }
    end_f_loop(inlet_face,thread_in)   

    #endif
    }

[ Last edited by xiegangmai on 2012-4-6 at 10:11 ]
生命不息折腾不止
13楼2012-04-06 09:45:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

5超7

至尊木虫 (著名写手)

菜鸟

并行这东西在流体网上面有所讨论的把!浪子大哥好像开过帖子
我要奋斗到底
8楼2012-04-02 08:08:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yp1990

铜虫 (初入文坛)

引用回帖:
13楼: Originally posted by jesseliuxl at 2012-04-06 09:45:42
并行的udf


#include "udf.h"
#include "mem.h"  
#define q 989.57
#define film_out 72.59
#define cir_out 916.98

#define INT_YI 0.022
real AVG_YI=0.0;

DEFINE_ADJUST(out, d)
     {
      ...

你好,我按照你的模型也修改了我的udf,但是单机多核并行的时候还是出错,不知道怎么回事?
爱拼才会赢
20楼2015-05-03 21:51:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

zxbok1979

木虫 (小有名气)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
jesseliuxl: 金币+2, 有帮助, 要是能这样,还折腾个啥啊 2012-04-01 13:45:51
臭水沟: 金币+1, 谢谢交流~~ 2012-04-02 15:41:08
在单核求解器中编译UDF,保存dat和case,然后再用并行求解器打开就可以了。
SILENCEISALSOAWAYTOLEARN
2楼2012-04-01 12:02:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kylafree

至尊木虫 (知名作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
jesseliuxl: 金币+10, 有帮助, 能编译通过,但是编译后出现错误啦 2012-04-01 18:41:20
臭水沟: 金币+2, 谢谢交流~~ 2012-04-02 15:41:20
#include "udf.h"
#include "mem.h"
#define q 998
#define out 960
#define film-out 28
#define INT_YI 0.03
real AVG_YI=0.0;

DEFINE_ADJUST(outlet_avg_yi, d)
{#if RP_NODE

real sum_yi_A=0.0;
int j=0;
face_t f;
Thread *thread_out=Lookup_Thread(d,5);
   begin_f_loop(f,thread_out)
{
   sum_yi_A+=F_YI(f,thread_out,0);
  j++;      
}
end_f_loop(f,thread_out)
sum_yi_A = PRF_GRSUM1(sum_yi_A);
j = PRF_GRSUM1(j);
  AVG_YI=sum_yi_A/j;

Message0("%f\n",sum_yi_A);
Message0("%f\n",AVG_YI);
Message0("%d\n",j);
#endif
}


DEFINE_PROFILE(inlet,thread_in,index)
{#if RP_NODE
     real inlet_yi=0.0;
     face_t inlet_face;
   
     real time=RP_Get_Real("flow-time" ) ;   
     begin_f_loop(inlet_face,thread_in)
         {
           if(time<9)
         {
          inlet_yi=INT_YI;
           F_PROFILE(inlet_face,thread_in,index)=inlet_yi;
         }
         
           else
        {
           inlet_yi=AVG_YI+0.2*out/q;
           F_PROFILE(inlet_face,thread_in,index)=inlet_yi;
         }
       }
         end_f_loop(inlet_face,thread_in)   

     Message0("%f\n",inlet_yi);                     
     #endif
         }
3楼2012-04-01 16:20:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jesseliuxl

金虫 (小有名气)

引用回帖:
3楼: Originally posted by kylafree at 2012-04-01 16:20:13:
#include "udf.h"
#include "mem.h"
#define q 998
#define out 960
#define film-out 28
#define INT_YI 0.03
real AVG_YI=0.0;

DEFINE_ADJUST(outlet_avg_yi, d)
{#if R ...

编译能通过,不过之后出现这问题,不知是什么原因

你并行里试过没有啊?


生命不息折腾不止
4楼2012-04-01 18:44:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jesseliuxl

金虫 (小有名气)

并行的udf只能编译?
生命不息折腾不止
5楼2012-04-01 22:32:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kylafree

至尊木虫 (知名作家)


臭水沟: 金币+1, 谢谢交流~~ 2012-04-02 15:41:40
#include "udf.h"
#include "mem.h"
#define q 998
#define out 960
#define film_out 28
#define INT_YI 0.03
real AVG_YI=0.0;

DEFINE_ADJUST(outlet_avg_yi, d)
{#if RP_NODE

real sum_yi_A=0.0;
int j=0;
face_t f;
Thread *thread_out=Lookup_Thread(d,5);
    begin_f_loop(f,thread_out)
{
    sum_yi_A+=F_YI(f,thread_out,0);
  j++;      
}
end_f_loop(f,thread_out)
sum_yi_A = PRF_GRSUM1(sum_yi_A);
j = PRF_GRSUM1(j);
   AVG_YI=sum_yi_A/j;

Message0("%f\n",sum_yi_A);
Message0("%f\n",AVG_YI);
Message0("%d\n",j);
#endif
}


DEFINE_PROFILE(inlet,thread_in,index)
{#if RP_NODE
      real inlet_yi=0.0;
      face_t inlet_face;
   
      real time=RP_Get_Real("flow-time" ) ;   
      begin_f_loop(inlet_face,thread_in)
          {
            if(time<9)
          {
           inlet_yi=INT_YI;
            F_PROFILE(inlet_face,thread_in,index)=inlet_yi;
          }
         
            else
        {
            inlet_yi=AVG_YI+0.2*out/q;
            F_PROFILE(inlet_face,thread_in,index)=inlet_yi;
          }
        }
          end_f_loop(inlet_face,thread_in)   

      Message0("%f\n",inlet_yi);                     
     #endif
          }
6楼2012-04-01 22:55:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kylafree

至尊木虫 (知名作家)

你连你的东西是干什么的都没说你让别人怎么试
7楼2012-04-01 22:57:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jesseliuxl

金虫 (小有名气)

jesseliuxl: 回帖置顶 2012-04-02 08:59:39
引用回帖:
7楼: Originally posted by kylafree at 2012-04-01 22:57:27:
你连你的东西是干什么的都没说你让别人怎么试

组分输送,把进口组分浓度与出口关联,你这高手应该一看就知道啊
生命不息折腾不止
9楼2012-04-02 08:32:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dhw0075

木虫 (知名作家)

至尊木虫

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
臭水沟: 金币+1, 谢谢交流~~ 2012-04-02 18:03:36
jesseliuxl: 金币+2 2012-04-02 19:57:20
在单核求解器中编译UDF,保存dat和case,然后再用并行求解器打开就可以了。

祝福~
学无止境。
10楼2012-04-02 16:40:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 jesseliuxl 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[文学芳草园] 梦想 +5 myrtle 2026-08-26 8/400 2026-09-02 02:42 by Leogzhya
[基金申请] 投票:  有多少人是今天查系统知道结果的? +17 爱看书的可乐 2026-08-26 19/950 2026-09-02 00:19 by xiangy672
[基金申请] 面上合作单位盖章 +6 ssyjh 2026-08-27 9/450 2026-09-01 20:01 by huagongfeihu
[基金申请] 面上函评意见出来了,像什么等级? 20+4 Tsingking1 2026-08-27 17/850 2026-09-01 19:51 by 超级无敌华子
[基金申请] 为什么国自然不能直接公布 +5 bjdxyxy 2026-08-26 5/250 2026-09-01 17:54 by 小伟大博士
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +13 Kittylucky 2026-08-27 14/700 2026-09-01 11:06 by feng6531
[论文投稿] 小白求助 投论文要求的highlights应该如何写 5+3 l1963982152 2026-08-29 4/200 2026-09-01 09:04 by 北京莱茵编辑
[基金申请] 国社科又开始会评了,不知道这次命运如何 +7 雨打竹帘 2026-08-30 11/550 2026-08-31 23:16 by hittle2008
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +6 yuleib84 2026-08-26 7/350 2026-08-31 19:46 by 鱼翔浅底1
[基金申请] 有没有仍没收到信息的 +7 德尚中行 2026-08-27 8/400 2026-08-30 20:52 by purplejack
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 11/550 2026-08-30 07:57 by gouxfjh
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
[基金申请] 2026年叶企孙基金 +4 bud_bud 2026-08-27 7/350 2026-08-29 07:23 by foolishmani
[基金申请] 怎么查啊 +6 huang1991js 2026-08-26 6/300 2026-08-28 08:42 by winsaint
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
信息提示
请填处理意见