1、 在作并行计算时,将整个计算空间划分为如图(图中以4个为例)所示数个平行的区域,这样把不同区域的场和粒子分配到不同的处理器上。当粒子经过场加速后由某一个区域进入到另外一个区域时,粒子将相应地转交给另一区域的处理器处理。并行处理的网格和粒子分区示意图 图 2 PIC粒子模拟程序算法结构图 除将粒子速度位置等数据进行初始化外,由推动粒子,粒子管理、分配电流、电流管理、场的求解、场的管理等六个部分组成,具体描述如下:(1)推动粒子:每个计算节点同时推动自己区域内的粒子,由于粒子的电磁场是通过插值网格点处的电磁场得到的,所以不同计算节点交界处粒子需要用到相邻计算节点公共网格点的电磁场。(2)粒子管理:
2、部分粒子经过场加速后由某一个区域进入到另外一个区域时,粒子将相应地转交给另一区域的处理器处理。(3)分配电流:粒子电流被分配到相应区域的网格点上。(4)电流管理:由于在某个区域中,在上一步中只能将本区域中的粒子电流分配到网格点上,因此边界附近网格点处得到的电流是不全面的,需要将上面或下面区域公共网格上的电流和它叠加得到全面的电流。(5)计算电磁场:求解每个计算节点内部格点上的Maxwell方程,得到内部网格点上的电磁场。1pTT1pTpT表 用不同数目的计算节点计算同一问题时的加速比和并行效率 表 2 8个cpu计算不同工作量的问题时的加速比和并行效率04812162003691215edcb
3、a SpeedupNumber of Processors 由以上两个表格可以看出:对同一规模的物理问题,加速比在计算节点数较少时随计算节点数基本上是线性增加的,但随节点数增加这种增加趋势会变缓,所以并行效率变低,16个计算节点时候的并行效率明显偏低。同时计算节点数一定时增加问题的规模,加速比会提高,同样并行效率随之提高。当处理规模比较大的问题时用并行计算可以显著提高效率,而且问题规模越大,这个作用越明显。040801201602000.40.50.60.70.8 Normalized Proton Kinetic Energyit040801201602000.000.050.100.150.20 Normalized Magnetic Energyit0100200300400500050100150200250By -1.300-1.013-0.7250-0.4375-0.15000.13750.42500.71251.000X(vAi-1)Y(vAi-1)0100200300400500050100150200250Bz -1.300-0.9625-0.6250-0.28750.050000.38750.72501.0631.400X(vAi-1)Y(vAi-1)