24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1640  |  回复: 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的回帖
相关版块跳转 我要订阅楼主 姜家木木 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 调剂310 +10 温柔的晚安 2026-03-25 11/550 2026-03-29 14:22 by markhwc
[基金申请] 面上5B能上会吗? +3 redcom 2026-03-29 3/150 2026-03-29 12:03 by god_tian
[考研] 081200-11408-276学硕求调剂 +6 崔wj 2026-03-26 6/300 2026-03-29 01:11 by hanserlol
[考研] 一志愿北化085600材料专硕275|有文章专利|求调剂 +7 Micky11223 2026-03-25 7/350 2026-03-28 18:34 by 无际的草原
[考研] 299求调剂 +7 嗯嗯嗯嗯2 2026-03-27 7/350 2026-03-28 13:09 by 唐沐儿
[考研] 339求调剂,想调回江苏 +6 烤麦芽 2026-03-27 8/400 2026-03-28 10:40 by 烤麦芽
[考研] 张芳铭-中国农业大学-环境工程专硕-298 +4 手机用户 2026-03-26 4/200 2026-03-28 07:17 by mmm just
[考研] 340求调剂 +5 jhx777 2026-03-27 5/250 2026-03-28 04:18 by fmesaito
[有机交流] 高温高压反应求助 10+4 chibby 2026-03-25 4/200 2026-03-27 21:08 by BT20230424
[考研] 考研调剂 +9 小蜡新笔 2026-03-26 9/450 2026-03-27 11:10 by 不吃魚的貓
[考研] 材料学硕,求调剂 6+5 糖葫芦888ll 2026-03-22 10/500 2026-03-27 08:18 by hypershenger
[考研] 【双一流院校新能源、环境材料,材料加工与模拟招收大量调剂】 +4 Higraduate 2026-03-22 8/400 2026-03-26 20:34 by Higraduate
[考研] 机械学硕310分,数一英一,一志愿211本科双非找调剂信息 +3 @357 2026-03-25 3/150 2026-03-26 16:34 by by.MENG
[考研] 材料与化工304求B区调剂 +3 邱gl 2026-03-25 3/150 2026-03-25 19:03 by Ainin_
[考研] 【2026考研调剂】制药工程 284分 求相关专业调剂名额 +4 袁奂奂 2026-03-25 8/400 2026-03-25 14:32 by lbsjt
[考研] 一志愿吉林大学材料与化工303分求调剂 +4 为学666 2026-03-24 4/200 2026-03-25 11:27 by BruceLiu320
[考研] 318求调剂 +3 plum李子 2026-03-23 3/150 2026-03-25 09:42 by 雾散后相遇lc
[考研] 材料专硕找调剂 +5 哈哈哈吼吼吼哈 2026-03-23 5/250 2026-03-24 19:07 by 了了了了。。
[考研] 341求调剂(一志愿湖南大学070300) +5 番茄头--- 2026-03-22 6/300 2026-03-23 23:45 by Txy@872106
[考研] 280分求调剂 一志愿085802 +4 PUMPT 2026-03-22 7/350 2026-03-22 22:13 by 星空星月
信息提示
请填处理意见