24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1641  |  回复: 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的回帖
相关版块跳转 我要订阅楼主 姜家木木 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 化学工程085602 305分求调剂 +21 RichLi_ 2026-03-25 21/1050 2026-03-29 17:09 by 学员8dgXkO
[考研] 296求调剂 +5 彼岸t 2026-03-29 5/250 2026-03-29 16:54 by 熊一刀
[考研] 总分293求调剂 +7 加一一九 2026-03-25 10/500 2026-03-29 16:53 by 杨杨杨紫
[考研] 334分 一志愿武理 材料求调剂 +7 李李不服输 2026-03-26 7/350 2026-03-29 16:25 by 学员8dgXkO
[考研] 环境工程 085701,267求调剂 +6 minht 2026-03-29 6/300 2026-03-29 16:21 by 学员8dgXkO
[考研] 085600,专业课化工原理,321分求调剂 +5 大馋小子 2026-03-28 5/250 2026-03-29 08:56 by qingfeng258
[考研] 0856求调剂 +7 楒桉 2026-03-28 7/350 2026-03-29 08:28 by fmesaito
[考研] 356求调剂 +3 gysy?s?a 2026-03-28 3/150 2026-03-29 00:33 by 544594351
[考研] 【求调剂】085601材料工程专硕 | 总分272 | +6 脚滑的守法公民 2026-03-27 6/300 2026-03-28 11:02 by gjlllb
[考研] 085602 307分 求调剂 +7 不知道叫什么! 2026-03-26 7/350 2026-03-28 09:57 by 神马都不懂
[考研] 085600,材料与化工321分调剂 +4 大馋小子 2026-03-27 6/300 2026-03-27 14:11 by 松花缸1201
[考研] 333求调剂 +3 question挽风 2026-03-23 3/150 2026-03-27 11:29 by 不吃魚的貓
[考研] 调剂推荐 +5 清酒714 2026-03-26 6/300 2026-03-27 11:12 by 不吃魚的貓
[考研] 304材料求调剂 +4 钟llll 2026-03-26 4/200 2026-03-27 03:42 by wxiongid
[考研] 333求调剂 +6 wfh030413@ 2026-03-23 6/300 2026-03-26 22:45 by 学员8dgXkO
[考研] 294分080500材料科学与工程求调剂 +4 柳溪边 2026-03-26 4/200 2026-03-26 21:14 by XPU李庆
[考研] 327求调剂 +7 prayer13 2026-03-23 7/350 2026-03-26 20:48 by 不吃魚的貓
[考研] 085602 289分求调剂 +8 WWW西西弗斯 2026-03-24 8/400 2026-03-26 16:33 by 不吃魚的貓
[考研] 一志愿南航材料专317分求调剂 +5 炸呀炸呀炸薯条 2026-03-23 5/250 2026-03-24 16:52 by 星空星月
[考研] 材料专硕331求调剂 +4 鲜当牛 2026-03-24 4/200 2026-03-24 15:58 by JourneyLucky
信息提示
请填处理意见