基于双平面波展开法的光子晶体带隙计算程序
项目介绍
本项目采用双平面波展开法(Plane Wave Expansion Method)实现光子晶体的能带结构计算与带隙分析。程序能够自动求解麦克斯韦方程组的本征值问题,计算光子晶体在不同波矢方向上的色散关系,并识别光子带隙的位置和宽度。适用于二维光子晶体(如正方形/三角形晶格)的TE和TM模式分析,提供完整的能带结构可视化和带隙分析功能。
功能特性
- 高效能带计算:基于平面波展开法精确求解周期性介质中的电磁波本征值问题
- 多种晶格支持:支持正方形和三角形晶格结构
- 双模式分析:可分别计算TE模式和TM模式的能带结构
- 自动带隙识别:自动检测并标注光子带隙的起始频率、宽度和中心频率
- 灵活参数配置:可调节平面波数量、波矢采样路径等计算参数
- 丰富可视化输出:提供能带结构图、带隙数据表和参数报告
- 可选场分布分析:支持特定频点的电磁场分布计算与显示
使用方法
- 参数配置:根据需要修改晶格参数(类型、常数)、介质参数(介电常数、填充率)和计算参数(平面波数量、波矢路径)
- 模式选择:指定计算TE模式或TM模式
- 执行计算:运行主程序开始能带结构计算
- 结果分析:查看生成的能带结构图和带隙分析报告
- 场分布计算(可选):对感兴趣的频点进行模态场分布分析
系统要求
- MATLAB R2018a或更高版本
- 支持矩阵运算和图形显示的标准MATLAB环境
- 推荐内存:4GB以上(根据平面波数量调整)
文件说明
主程序文件实现了光子晶体能带计算的核心流程,包括参数输入与验证、晶格倒空间的构建、哈密顿矩阵的组装、本征值问题的求解、能带数据的后处理与分析,以及最终结果的可视化输出。该文件整合了从物理模型建立到数值计算再到结果展示的完整计算链路,确保了程序功能的一体化实现。