2D TM波PML-FDTD数值仿真系统
项目介绍
本项目是一个基于有限差分时域法(FDTD)的电磁场数值仿真工具,专门用于模拟二维平面内TM(Transverse Magnetic)波的传播特性。系统通过数值求解麦克斯韦旋度方程,直观展示电磁波在自由空间中的辐射、传播以及在边界处的吸收过程。该仿真核心采用了高度稳定的Yee氏网格算法,并集成了一种高性能的吸收边界条件——完全匹配层(PML),能够有效模拟无限大开放空间的物理规律。
功能特性
- 高精度场演化模拟:实现对Ez电场分量、Hx磁场分量和Hy磁场分量的空间与时间交替迭代更新。
- Berenger分裂场PML:利用分裂步法将电场分解,在计算区域四周构建高度吸收的各向异性介质层,最大限度消除人工边界反射。
- 动态激励源注入:内置高斯脉冲激励,可灵活调整中心频率、脉冲宽度及空间位置。
- 多维可视化分析:支持实时显示电场强度分布热力图、特定观测点的时间序列波形、最终时刻的场强三维曲面图以及磁场矢量分布图。
- 性能量化评估:提供仿真结束后的残余边界能量统计,用于验证PML算法的吸收效能。
系统要求
- 环境依赖:MATLAB R2016b 或更高版本。
- 计算资源:标准PC内存即可满足200x200网格的计算需求。
- 基础知识:建议使用者具备基本的计算电磁学或数理方程基础。
实现逻辑与算法细节
#### 1. 参数初始化与网格构建
程序首先定义物理常数(真空光速、介电常数、磁导率)。计算区域被划分为nx乘以ny的矩形网格,空间步长设定为0.01米。时间步长严格遵循Courant稳定性条件,以确保数值计算的收敛性。
#### 2. PML系数预计算
为了实现高效的边界吸收,程序在计算区域四周设置了20层厚度的PML。
- 电导率分布:采用3阶多项式分级分布(m=3),计算x和y方向的电导率sigma。
- 阻抗匹配:根据PML原理,预先计算对应的磁导率,确保波阻抗与自由空间匹配,从而实现零反射进入PML层。
- 系数矩阵:预先计算电场更新系数(cx_a, cx_b, cy_a, cy_b)和磁场更新系数(chx_a, chx_b, chy_a, chy_b),这能显著减少循环内的浮点运算量。
#### 3. 核心迭代循环
在每一个时间步内,程序按以下逻辑顺序执行:
- 磁场更新:根据当前电场Ez的空间差分,分别计算Hx和Hy的更新值。磁场系数矩阵会根据其是否处于PML区域自动调节损耗项。
- 源注入:在预设的激励位置(如区域中心)向分裂后的电场分量(Ezx, Ezy)中引入高斯脉冲信号。
- 分裂电场更新:利用Berenger分裂步法,Ezx分量由Hy的空间差分更新,Ezy分量由Hx的空间差分更新。这种方法允许在PML区域内为不同方向的应用不同的衰减系数。
- 场合成:将Ezx和Ezy相加得到总体电场Ez,用于物理分析和下一步迭代。
#### 4. 数据观测与实时可视化
- 时域追踪:在仿真过程中连续记录空间中某一特定观测点的Ez幅值,形成随时间变化的波形图。
- 图形实时刷新:每隔10个时间步更新一次全局场分布热图,并动态绘制PML边界框以区分计算区与吸收区。
实现功能详述
- 电磁场求解:程序精确实现了Maxwell方程组在TM极化下的有限差分格式,涵盖了横向磁场与纵向电场的耦合计算。
- 吸收性能优化:通过设置sigma_max(最大电导率)和衰减阶数,程序能够将人工截断边界的反射控制在极低水平。
- 多图表输出:
*
二维热力图:展示电场随时间的波动扩散过程。
*
时域波形图:反映特定空间位置接收到的脉冲信号质量。
*
三维曲面图:在仿真结束时展示Ez的整体空间形态。
*
矢量场图:通过Quiver函数展示Hx和Hy合成的磁场矢量方向与强度梯度。
- 边界能量统计:通过计算PML区域内的残余场强均值,给出了定性的仿真精度参考。