论文部分内容阅读
作为计算电磁学三大支柱之一的时域有限差分法(Finite Difference TimeDomain Method,简称FDTD)是一种优良的电磁场数值计算方法,在工业、医学、材料、通信等领域起着越来越重要的作用。单个计算机解决的问题大约在10个波长的量级上。随着所需解决问题电尺寸的增大,单个计算机的速度和内存都远远不能满足科学技术和工程问题的需要。时域有限差分是一种天然并行技术,只交换子区域边界上的信息,因此时域有限差分具有很高的并行效率。Message-Passing Interface(MPI)直接通过通信空间面向进程设计而不针对处理器,能方便易行的实现进程间消息的传递,所提供的通信函数非常便于用C,C++,Fortan编程实现并行FDTD算法。用并行的FDTD算法可以解决单个计算机无法计算的电大尺寸物体的电磁场计算。
本论文主要介绍了以PML,(Perfectly Matched Layer)为吸收边界的三维FDTD算法和MPI的理论基础,实现了三维FDTD的并行。主要包括以下几个方面的内容:
(1)在众多的通信模式中选择可以最大限度避免死锁发生的捆绑式发送和接收通信模式,实现了三维FDTD的并行算法;
(2)对并行程序传递函数的合理性的验证。分别从场值幅值图和一个点在不同时间步的幅值进行比较。结果表明:串、并行在结果上是吻合的,并行程序的传递函数是合理的。
(3)分别采用一维、二维分割进行并行计算。结果表明,二维分割相对一维分割,用时短,效率得到了提高。这是因为PML吸收边界处计算量要比散射场区计算量大,如果采用一维分割,造成负载不平衡,效率降低。
(4)对于不同的网格数,不同的进程分别从横向、纵向两个方面比较,结果表明:当计算的网格数比较小的时候,比如50*50*50时,得到的加速比Sp<1,此时适合串行;只有计算网格达到一定的数目,比如100*100*100时,采用并行计算才能优于串行计算,达到Sp>1,适合一维分割;但是采用不同的分割方式以及每维上的进程数会应影响Sp,只有网格数达到一定的数目,比如200*200*200,此时才适合多维并行,效率得到大幅度的提高,否则,如网格200*200*100适合二维分割。