基于MPI的FDTD在网格环境中的应用
1. FDTD算法中的计算与数据通信
在FDTD算法里,对外表面场的计算完成后,就会进行数据通信。以z方向电场分量为例,处理器会从相邻处理器接收变量 EZ(1,0, K) ,并将 EZ(IM,0, K) 发送给前一个处理器。以下是相关代码:
// 数据通信部分代码
MPI_Send (EZ[1][0], KM+1,MPI_FLOAT, myrank-1, tag, MPI_COMM_WORLD);
MPI_Send (EZ[1][JM-1], KM+1, MPI_FLOAT, myrank-1, tag, MPI_COMM_WORLD);
MPI_Send (EZ[IM][0], KM+1, MPI_FLOAT, myrank+1, tag, MPI_COMM_WORLD);
MPI_Send (EZ[IM][JM-1], KM+1, MPI_FLOAT, myrank+1, tag, MPI_COMM_WORLD);
MPI_Recv (EZ[IM+1][0], KM+1, MPI_FLOAT, myrank+1, tag , MPI_COMM_WORLD, &status);
MPI_Recv (EZ[IM+1][JM-1], KM+1, MPI_FLOAT, myrank+1, tag , MPI_COMM_WORLD, &status);
MPI_Recv (EZ[0][0], KM+1, MPI_FLOAT, myrank-1, tag , MPI_COMM_WORLD, &status);
MPI_Recv (EZ
超级会员免费看
订阅专栏 解锁全文
504

被折叠的 条评论
为什么被折叠?



