论文部分内容阅读
时域有限差分法(FDTD)是计算电磁场中最常用的一种数值计算方法,它把时域麦克斯韦旋度方程转化为差分方程来求解电磁场各分量。FDTD广泛应用于研究电磁波与各种物体的相互作用,如微波、光镊、近场光学、细胞中光场分布的数值求解。然而,由于FDTD的建模问题具有其特殊性,如激励源的设置、介质参数、吸收边界条件各不相同,传统的计算程序基于结构化程序设计方法设计,往往只能解决某一特定问题,可重用性差,对不同问题必须重新编制程序,设计通用计算软件较为困难。本文通过对FDTD算法进行面向对象分析,设计了一套用于FDTD数值计算的 C++通用类库(KFDTD)。类库设计的主要思想是将上述各特殊问题抽象成单独的类,与迭代过程分离。本文对类库及其核心类做了详细介绍,分析了每个类的内部结构和函数接口。在此成功建立类库的基础上,进一步编制了高度聚焦高斯光束的FDTD计算程序,所得数值计算结果与精确解进行了比较,二者吻合良好。该类库可用于确定性电磁场问题的FDTD数值求解。由于在设计中充分考虑了后续扩充的要求,代码重用率高、易于维护和扩充。