基于FDTD算法的一维光子晶体TM模式投射与反射率计算仿真系统
项目介绍
本项目是一款基于时域有限差分法(FDTD)的数值仿真工具,专门用于模拟一维光子晶体在TM极化模式下的电磁特性。系统通过构建多层介质结构模型,模拟宽谱电磁波与光子晶体的相互作用,能够精确计算结构在宽波段范围内的反射率与透射率。该仿真不仅提供了动态的电场演化过程演示,还具备自动识别光子禁带的功能,为光子器件的研究与设计提供数据支持。
功能特性
- 高效计算引擎:采用矩阵化更新系数处理电场与磁场的迭代公式,有效减少了传统逐点循环带来的计算开销,充分发挥计算环境的向量化加速能力。
- 先进边界条件:实现了基于电导率梯度分布的完全匹配层(PML),有效吸收边缘向外传播的波,模拟无限空间环境,抑制数值反射。
- 单次激励宽谱分析:通过引入高斯脉冲作为激励源,辅助以总场/散射场(TF/SF)注入技术,仅需一次时域仿真即可获得覆盖可见光至近红外波段的频率响应。
- 动态可视化监控:提供实时的波动过程曲线演示,直观展现电磁波通过多层介质时的反射、透射及相干叠加物理过程。
- 自动化光谱分析:集成离散傅里叶变换(DFT)分析模块,自动计算波长相关的折/反参数,并进行能量守恒校验(R+T=1 验证)。
系统要求
- 运行环境:MATLAB R2016b 或更高版本。
- 硬件建议:至少 4GB 内存(仿真规模较小,主流配置均能流畅运行)。
- 必要组件:MATLAB 基础数学工具箱。
核心实现逻辑与功能说明
系统的执行逻辑遵循严格的 FDTD 迭代流程,具体分为以下几个物理与数值计算阶段:
1. 空间与时间步长设置
系统以 5nm 为空间步长(dz),根据库朗稳定条件自动确定时间步长(dt),确保数值波在格点间传播的稳定性。仿真区域总长度设定为 4um。
2. 介质结构建模
系统构建了一个周期性的 AB 结构。介质 1 折射率设为 1.5,厚度 150nm;介质 2 折射率设为 2.5,厚度 100nm。通过循环逻辑在空间网格中重复填充 10 个周期,生成介电常数(eps_r)的空间分布阵列。
3. PML 吸收边界初始化
在仿真区域的两端设置了 50 个网格深度的 PML 区域。通过计算梯度电导率 sigma,并将其带入 Maxwell 方程的离散系数中,实现了波的无反射吸收。
4. TF/SF 激励源注入
系统采用总场/散射场(TF/SF)技术。在特定位置注入高斯脉冲,脉冲带宽涵盖 400nm 至 1200nm。通过在 H 场和 E 场的更新公式中加入源项修正,确保波只向单一方向(正向)传播,从而能够清晰分离出向后传播的反射场信号。
5. 时域更新循环
核心循环执行 15,000 次迭代。在每一个步长内,系统执行以下操作:
- 根据上一步的 E 场更新 H 场(Hx)。
- 应用 TF/SF 修正磁场分量。
- 根据磁场更新 E 场(Ey)。
- 应用 TF/SF 修正电场分量。
- 实时提取反射监测点(位于 SF 区)和透射监测点(位于结构后方)的时域信号。
6. 频域变换与后处理
仿真结束后,系统利用预计算的相位因子对记录的时域序列执行傅里叶变换。通过计算透射场、反射场与基准入射场在各个频点上的能量比值,得到反射率(R)和透射率(T)随波长的分布曲线。
关键函数与算法细节分析
- 矩阵化更新系数(ca, cb, da, db):这些系数预先将介电常数、磁导率、电导率及步长参数融合成空间向量。在主循环中,电磁场的更新通过向量减法和点乘实现,极大提升了计算速度。
- 高斯脉冲参数设计:通过设定 lambda_min 和 lambda_max 来确定中心频率 f0 和带宽 bw。系统通过计算脉冲的时间常数(tau)和峰值延迟(t0),确保脉冲在频域内有足够的覆盖范围,且在时域内平滑进入系统。
- DFT 变换技术:不同于传统的后端一键 FFT,系统通过预计算相位矩阵
exp_wf,将时域信号投影到指定的 400 个频率观测点上,确保了光谱分析的针对性和精度。 - 能守恒校验:系统计算 R + T 的总和。在没有吸收介质的情况下,该值应接近 1。这作为仿真准确性的重要判定标准,反映在可视化界面的校验子图中。
- 光子禁带识别逻辑:系统具备自动检测能力,定义反射率超过 0.9 的连续波段为光子禁带,并向控制台输出具体的波长起止范围。