24小时热门版块排行榜    

查看: 1743  |  回复: 1

姜家木木

铜虫 (初入文坛)

[求助] FLUENT计算节点数据汇总(MPI)

小弟用FLUENT进行并行计算,打算实现将计算节点的某个数据汇总到计算节点0,并输出,就是计算节点间的数据汇总。udf程序可编译,可hook,没什么问题,但是一计算就出现下面的错误,网上也找不到解答,希望有了解fluent并行计算MPI这块的大佬给些指点,下面是我的udf和报错信息。
udf:
DEFINE_ADJUST(Mon,domain)
{
#if !RP_HOST
        Thread *t,**pt;
real temp,time,r,rj,zc;
cell_t c;
real x[ND_ND];
int num_c,total_c,mark_c,ci,ci1,cj1,ci2,cj2,node_i,i;
real (*xc_array)[3],(*yc_array)[3];
time=CURRENT_TIME;
rj=0.001;
if(current_ts!=N_TIME)
{
current_ts=N_TIME;
mp_thread_loop_c(t,domain,pt)
if(FLUID_THREAD_P(t))       
{Thread *p_phase=pt[1];
        begin_c_loop_int(c,t)
                {   
                        C_CENTROID(x,c,t);
                        if(C_VOF(c,p_phase)>0.5&&C_VOF(c,p_phase)<1&&sqrt(pow(x[0]-csped*time+dla-x0,2)+x[1]*x[1])<=rj)
                        {
                                num_c++;
                        }
                }
                end_c_loop_int(c,t)

                xc_array=(real (*)[3])calloc(3*num_c,sizeof(real));
                ci=0;
                begin_c_loop_int(c,t)
                {
                        C_CENTROID(x,c,t);
                        if(C_VOF(c,p_phase)>0.5&&C_VOF(c,p_phase)<1&&sqrt(pow(x[0]-csped*time+dla-x0,2)+x[1]*x[1])<=rj)
                        {
                                xc_array[ci][0]=x[0];
                                xc_array[ci][1]=x[1];
                                xc_array[ci][2]=x[2];
                                ci++;
                        }
               
                }
                end_c_loop_int(c,t)       

#if RP_NODE
                total_c=PRF_GISUM1(num_c);
#endif
#if !PARALLEL
                total_c=num_c;
#endif
                yc_array=(real (*)[3])calloc(3*total_c,sizeof(real));
               
#if RP_NODE
       
                if(!I_AM_NODE_ZERO_P)
                {
                        PRF_CSEND_INT(node_zero,&num_c,1,myid);
                        PRF_CSEND_REAL(node_zero,xc_array[0],3*num_c,myid);
                }
               
                if( I_AM_NODE_ZERO_P)
                {         
                        for(ci1=0;ci1<num_c;ci1++)
                        {
                                for(cj1=0;cj1<3;cj1++)
                                {
                                        yc_array[ci1][cj1]=xc_array[ci1][cj1];

                                }
                        }
                        mark_c=num_c;
                        compute_node_loop_not_zero(node_i)
                        {
                                PRF_CRECV_INT(node_i,&num_c,1,node_i);
                                xc_array=(real (*)[3])realloc(xc_array,3*num_c*sizeof(real));
                                PRF_CRECV_REAL(node_i,xc_array[0],3*num_c,node_i);
                                for(ci2=0;ci2<num_c;ci2++)
                                {
                                for(cj2=0;cj2<3;cj2++)
                                {
                                        yc_array[ci2+mark_c][cj2]=xc_array[ci2][cj2];
                                }
                                }
                                mark_c=mark_c+num_c;
                        }

                        compute_node_loop_not_zero(node_i)
                        {
                                PRF_CSEND_REAL(node_i,yc_array[0],3*total_c,node_zero);
                        }
                }

                free(xc_array);

                if(!I_AM_NODE_ZERO_P)
                {  
                        PRF_CRECV_REAL(node_zero,yc_array[0],3*total_c,node_zero);                                                                                                                                               
                }
#endif

begin_c_loop(c,t)
{
    C_CENTROID(x,c,t);
    temp=C_T(c,t);

        for(i=0;i<total_c;i++)
                {
                        if(x[0]==yc_array[0]&&x[1]==yc_array[1]&&x[2]==yc_array[2])
                        {
       
                                C_UDMI(c,t,10)=1;
                                break;
                        }
                        else
                        C_UDMI(c,t,10)=0;       
                }
}
end_c_loop(c,t)
}
}
free(yc_array);
#endif
}
报错:
==============================================================================

Node 0: Process 12088: Received signal SIGSEGV.

==============================================================================
MPI Application rank 0 exited before MPI_Finalize() with status 2

Interrupting at the end of timestep. If you want to interrupt at the end of iteration, press Ctrl+C once again.
The fl process could not be started.
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

姜家木木

铜虫 (初入文坛)

自顶一个
2楼2019-07-22 22:02:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 姜家木木 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 vZfe6xYu34yj 2026-09-14 4/200 2026-09-18 12:40 by hkwFQxvyQgWN
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +6 23jxep3nCNZb 2026-09-14 6/300 2026-09-18 11:30 by HjTo14L7GlnE
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +5 6F5UbRU2I5hL 2026-09-14 5/250 2026-09-18 10:30 by yS4CkeWDhD6V
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +5 3n8v2C8RimXI 2026-09-13 6/300 2026-09-18 09:18 by yS4CkeWDhD6V
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 C79jjtjAKjEn 2026-09-15 4/200 2026-09-18 06:44 by manzzl
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 vZfe6xYu34yj 2026-09-14 3/150 2026-09-18 02:06 by cITaGg3p5edr
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 6F5UbRU2I5hL 2026-09-14 3/150 2026-09-18 00:28 by cITaGg3p5edr
[考博] 申博发邮件 +6 Lmengk 2026-09-15 7/350 2026-09-17 23:36 by Lmengk
[考研] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +8 LwdutQ8HoqWP 2026-09-13 8/400 2026-09-17 22:53 by cuPZTDXS3VOd
[公派出国] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +8 QUjhNVAcOSff 2026-09-13 12/600 2026-09-17 22:15 by cuPZTDXS3VOd
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 5BDX0d0WFp7t 2026-09-15 4/200 2026-09-17 16:29 by 0ngsZVSCTS7z
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 yaCh4X3wd045 2026-09-14 4/200 2026-09-17 13:17 by ObVzqQQh1rrE
[找工作] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +4 6F5UbRU2I5hL 2026-09-14 4/200 2026-09-17 13:05 by ObVzqQQh1rrE
[硕博家园] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 vZfe6xYu34yj 2026-09-14 3/150 2026-09-17 05:16 by k06BKNblrGRH
[考研] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 6F5UbRU2I5hL 2026-09-14 5/250 2026-09-17 03:14 by Tql5LQhh5rLK
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +6 s3fFTmArrBt6 2026-09-13 6/300 2026-09-17 02:14 by Tql5LQhh5rLK
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 vZfe6xYu34yj 2026-09-14 3/150 2026-09-16 22:26 by Tql5LQhh5rLK
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +5 s3fFTmArrBt6 2026-09-14 5/250 2026-09-16 19:15 by rRvxEj3zorCy
[考博] 上海工程技术大学激光智能制造课题组|2027级博士研究生招生公告 +7 水士口 2026-09-16 8/400 2026-09-16 13:47 by kkklens
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 s3fFTmArrBt6 2026-09-13 4/200 2026-09-15 06:50 by 5BDX0d0WFp7t
信息提示
请填处理意见