目录
4.UPML的实现
5.TF/SF
6.圆柱散射
7.总结与演示
前言
小白的第一篇文章。分享这篇博客的目的是为了稍稍填补一下CSDN上这一块的空白区吧(因为我自己在做的时候没能搜到太多有用的资源)。因为在做其他东西的时候受到了很多博客免费分享的思路的帮助,所以想着还是免费分享更有意义了,希望能对看这篇博客的人有些许帮助。不过完整代码我是不会贴的哦,原理都这么详细了,核心代码也有了,自己动手,丰衣足食。
需要具备的基础知识:2D-FDTD、PML或者UPML的基本概念、TF/SF总场散射场源的基础知识
以下节选自小组大作业的论文报告,比较详细地阐述了怎么用MATLAB在2D-FDTD(TM波的情况)中实现UPML边界+TF/SF源,最后实现金属圆柱的散射。文章比较长,预计分三次发出:
- 题目要求;总体思路;无PML的2D-FDTD(TM波)
- UPML的实现
- TF/SF;圆柱散射;总结与演示
算法阐述
1.题目要求
要求以总场散射场为源,使用Matlab编程使用UPML的二维FDTD区域,实现真空波长为20μm的TM正弦波从左方入射到无限长金属圆柱的散射。圆柱参数:半径r=5um,ε=600,σ=2.0。
2.总体思路
总设计流程:
首先完成TM波在无PML边界时的二维FDTD程序,然后加入论文所述的UPML(各向异性完全匹配层)方法,再加入总场散射场正弦波源,最后确定圆柱范围,实现TM正弦波入射至无限长圆柱的散射。
在实际代码中,设定2D-FDTD区域为70×70的网格,其中x,y方向的PML层厚度均为10,圆柱中心为round(IE/2,JE/2)且半径为5。其x,y方向的边界距PML内边界的网格数为20。总场散射场的分界线在ia=12,ib=59,ja=12,jb=59处。总体结构如下图所示:
在设定时间步长和空间步长时,令dx=dy=ddx。又根据Courant数值稳定条件,在真空中有
由于我们设各方向的网格尺寸均为ddx且在真空中故而有
为了简便和减小色散误差,取c0*dt/ddx=0.5为稳定条件,在后文计算更新方程的时候,该式作为固定值也经常用到。
3.无PML的2D-FDTD
麦克斯韦方程组旋度方程为:
又
将电场归一化:
则方程改写为:
将E,D,H均看作由x,y,z三个方向的分量组成,并只考虑εr和μr为对角张量的情况,方程展开为:
假定z方向均匀,取d/dz=0,化简为二维,并只保留TM波(即含Ez,Hx,Hy)的情况:
改变次序并用Yee网格形式得到更新方程:
这部分是引入UPML的基础内容。核心的部分放在了后两篇文章。