论文部分内容阅读
计算电磁学是诞生在电磁学和计算数学以及计算机科学基础上的交叉学科。在计算电磁学中利用时FDTD(Finite Difference Time Domain,域有限差分法)来计算电磁散射问题是一个重要的应用。经典的时域有限差分法为了抑制数值色散对网格尺寸有很大的限制。为了提高FDTD的精度学者们提出了高阶FDTD。本文采用的高阶FDTD算法在时间差分上使用了辛积分传播子(Symplectic IntegratorPropagator)能使FDTD的时间精度达到4阶。在空间差分上使用的DSC(DiscreteSingular Convolution,奇异离散卷积)具有2M阶的差分精度。改进得到的(2M,4)FDTD在采用小网格时能通过提高采样带宽达到远高于传统FDTD的精度,然而需要的计算时间却要远远大于传统的FDTD。为了缩减高阶FDTD的计算时间本文研究了使用并行技术来缩短高阶FDTD的计算时间的方法。随着GPU在PC中的普及以及GPU的并行开发工具日益完善,GPU在科学计算领域得到广泛的应用。本文使用了GeForce9600GT作为GPGPU(General Purpose GPU,通用计算图形处理器)以及CUDA作为开发工具完成了高阶FDTD的并行计算。首先用(2M,4)FDTD计算了二维TM模式下平面波照射金属方柱时RCS(RadarCross Section,雷达散射截面)。验证了串行算法的正确性后利用GPU完成了二维算法的并行计算。在M=1和M=4时分别得到14.6和10.7倍的加速比。在通过GPU的片内资源优化后,在M=4时加速比被提升至15.45。在完成二维运算后,在CPU端用(2M,4)FDTD完成三维散射体计算并利用惠更斯原理计算得到经典模型的RSC验证了三维算法的正确性。接着在实现二维并行的基础上对数据进行二维划分利用二维线程实现三维FDTD的并行散射计算,并利用GPU计算得到的数据计算出RCS。结果表明通过串行和并行两种方法得到的RCS基本一致。但是在三维下的加速效果不明显,当网格点数为50×50×50时只达到了CPU计算速度的5.44倍。并且当节点增多到84×84×84时加速比更小了约为3.55。