宽带任意阶 贝塞尔光束 超表面 模型 fdtd仿真 复现论文:2017年Light Science&Applications:Generation of wavelength-independent subwavelength Bessel beams using metasurfaces 论文介绍:介质超表面实现宽带任意阶贝塞尔光束的产生,贝塞尔光束是无衍射光束的一种,可以在较长的传播距离内保持很好的横向分布特性,广泛应用于例子操控、成像等领域; 案例内容:主要包括文章的两个贝塞尔光束模型,一个零阶贝塞尔光束一个一阶贝塞尔光束,采用二氧化钛介质单元执行几何相位来构建; 案例包括fdtd模型、fdtd设计脚本、Matlab计算代码和复现结果,以及一份word教程,附带计算超表面的远场光场分布的脚本,可以得到任意位置的贝塞尔光场。
本文基于所提供的完整仿真代码与技术文档,对一套用于生成宽带任意阶贝塞尔光束的超表面设计-仿真系统进行深度功能解析。全文严格围绕代码本身的功能实现逻辑展开,避免过度理论推导或公式复述,聚焦于每一段代码“做了什么”、“为什么这么做”以及“在整个流程中扮演什么角色”。文章结构按模块划分,逐层剖析其工程实现细节,力求呈现一份专业、清晰、可复用的技术功能说明书。
一、系统整体功能架构
该系统由两个主要计算环境协同完成:MATLAB负责相位设计与结构参数生成,Lumerical FDTD负责三维电磁建模、全波仿真与远场分析。两者通过.mat文件交换数据,形成一个闭环的“目标定义 → 结构映射 → 电磁验证”工作流。
系统支持两种典型波长(405 nm 与 532 nm)和两种贝塞尔阶数(零阶与一阶),共四种组合场景。其核心功能目标是:利用几何相位原理,通过旋转非对称纳米柱阵列,在可见光宽带范围内实现指定阶数的无衍射贝塞尔光束输出。
整个流程可分为三大功能模块:
- 目标相位计算与结构参数导出(MATLAB);
- 超表面三维结构自动建模与仿真配置(FDTD);
- 远场电场分布提取与可视化验证(FDTD)。
下文将逐一深入解析各模块的代码功能。
二、MATLAB 模块:目标相位计算与结构参数导出
2.1 功能定位
该模块的核心任务是:根据贝塞尔光束的理论相位分布,为超表面的每一个单元位置计算所需的相位延迟,并将其转换为纳米柱的物理旋转角度,最终输出为结构建模可直接调用的参数文件。
2.2 输入参数配置功能
代码首先定义了两组独立的光学与几何参数,分别对应两种工作波长:
- 波长与数值孔径(NA):控制贝塞尔光束的锥角与无衍射距离;
- 单元周期与阵列尺寸:决定超表面的物理孔径与空间采样密度;
- 拓扑荷数(l):用于区分零阶(无涡旋)与一阶(带轨道角动量)贝塞尔光束。
这些参数并非随意设定,而是依据实际纳米加工能力与光学性能权衡确定,体现了从理论到工程的过渡。
2.3 相位场计算功能
代码通过双重嵌套循环遍历整个超表面网格,对每个离散位置(i, j)计算其目标相位值。该相位由两部分构成:
- 径向锥形相位项:用于将入射平面波转换为具有特定会聚角的波前,是生成贝塞尔光束的基础;
- 方位角螺旋相位项:仅在一阶设计中启用,用于引入相位奇点,形成中心暗斑的涡旋结构。
值得注意的是,代码对两种波长和两种阶数分别进行了独立计算,生成四组完整的相位矩阵。这种模块化处理方式极大提升了代码的可扩展性——若需支持更高阶贝塞尔光束,只需增加新的拓扑荷数值即可。
2.4 相位归一化与角度映射功能
计算得到的原始相位值范围为[0, 2π),但超表面单元通过几何相位机制工作,其引入的相位与纳米柱旋转角度成2:1的线性关系(即旋转 θ 角度,引入 2θ 相位)。因此,代码执行了以下关键转换:
- 使用
wrapTo2Pi确保相位严格落在[0, 2π)区间; - 将相位归一化至
[0, 1](除以2π); - 乘以 360 并除以 2,转换为旋转角度(单位:度);
- 四舍五入取整,生成离散化的角度矩阵。
这一过程实现了从连续光学相位到离散物理结构的映射,是整个设计流程中承上启下的关键环节。
2.5 数据导出与可视化功能
最终,代码将四组角度矩阵分别保存为独立的.mat文件,命名清晰(如targetanglel=0_532.mat),便于后续 FDTD 脚本按需加载。同时,代码还生成四幅二维相位分布图,用于人工验证相位设计的合理性:
- 零阶相位呈轴对称锥形;
- 一阶相位呈螺旋状,中心存在 2π 跳变。
这些图像虽非仿真必需,但对调试与教学具有重要价值,体现了良好的工程实践习惯。
**小结**:MATLAB 模块本质上是一个**参数化结构生成器**,它将抽象的光学目标转化为具体的、可制造的纳米结构指令集,是连接光学设计与纳米光子学仿真的桥梁。
三、FDTD 模块一:超表面三维结构自动建模
3.1 功能定位
该脚本的核心功能是:根据 MATLAB 输出的角度数据,自动构建包含数千个非对称纳米柱的全介电超表面三维模型,并配置完整的电磁仿真环境(包括基底、光源、监视器与计算区域)。
3.2 数据加载与参数初始化功能
脚本首先从指定.mat文件中加载预计算的旋转角度矩阵(当前加载的是 532 nm、零阶设计)。随后定义一系列物理参数,包括超表面半径、单元周期、工作波长、网格分辨率等。这些参数必须与 MATLAB 模块保持一致,否则会导致结构错位或仿真失真。
3.3 基底构建功能
脚本使用圆形基底(addcircle)模拟玻璃衬底,材料指定为SiO2 (Glass) - Palik,厚度设为工作波长的三倍,以避免底部反射干扰。基底半径略大于超表面区域,确保边缘结构完整。
3.4 纳米柱阵列自动生成功能
这是脚本最核心的功能。通过双重循环遍历预定义的网格点:
- 对每个点,计算其到中心的距离;
- 若在超表面半径内,则在该位置添加一个矩形纳米柱;
- 设置其尺寸为非对称(长宽不等),以实现双折射效应;
- 关键一步:将预加载的角度矩阵中的对应值赋给该纳米柱的绕 z 轴旋转属性。
此过程实现了“一个角度 → 一个纳米柱 → 一个相位延迟”的精确映射。所有纳米柱初始以线框模式渲染,便于检查布局是否正确。
3.5 材料与高度统一分配功能
由于循环中创建的每个纳米柱都是独立对象,脚本随后使用selectpartial批量选中所有名为nanofin的结构,并统一设置:
- 材料为
TiO2(高折射率、低吸收,适用于可见光); - 高度为 600 nm(依据文献优化值);
- 归入组
structure1,便于后续管理。
3.6 仿真环境配置功能
脚本自动添加以下关键组件:
- FDTD 计算区域:包围整个结构,z 范围覆盖入射、透射与近场区域;
- 双正交 TFSF 光源:一个 x 偏振、一个 y 偏振且相位延迟 90°,合成左旋圆偏振光,用于激发几何相位;
- 2D 功率监视器:位于结构上方固定 z 位置,记录透射近场电场,供后续远场计算使用。
**小结**:该脚本是一个高度自动化的**纳米光子结构装配线**,它将离散的角度数据转化为物理可仿真的三维模型,并配置完整的电磁求解环境,极大提升了建模效率与一致性。
四、FDTD 模块二:远场电场分布提取与验证
4.1 功能定位
该模块包含两个脚本(分别对应 l=0 与 l=1),其功能完全一致:从 FDTD 仿真结果中提取近场数据,通过严格的远场变换算法,计算并可视化贝塞尔光束在指定观察平面上的强度分布,用于功能验证。
4.2 近场数据读取功能
脚本首先调用getresult从名为monitor的功率监视器中读取完整的电场数据(包含 x、y、z 分量及偏振信息)。
4.3 远场计算区域定义功能
用户可自定义观察区域的大小(如 25 μm × 25 μm)、空间分辨率(如 200 点)以及 z 方向扫描范围(从 1 μm 到 1.5 倍理论焦距)。这些参数直接影响结果的精度与计算开销。
4.4 二维远场强度计算功能
脚本执行两类远场计算:
- x-z 平面切片(y=0):用于观察光束沿传播方向的演化,验证其无衍射特性(即中心亮斑在长距离内保持不变);
- x-y 平面切片(固定 z):用于观察横截面强度分布,验证贝塞尔阶数特征(零阶为中心亮斑+同心环,一阶为中心暗斑+环形亮斑)。
计算使用 Lumerical 内置的farfieldexact3d函数,该函数基于等效源原理,能高精度地将近场转换为远场。
4.5 强度合成与可视化功能
由于输入为圆偏振光,输出包含多个偏振分量。脚本对所有偏振分量的电场模平方求和,得到总光强|E|²,并使用image函数绘制伪彩色图,坐标轴标注清晰(单位:μm)。
值得注意的是,脚本中明确标注“焦点位置需要改”,表明其设计具有灵活性——用户可根据实际仿真结果微调观察平面位置,以获得最佳聚焦效果。
**小结**:远场脚本是系统的**性能验证器**,它将复杂的电磁场数据转化为直观的物理图像,直接回答“是否成功生成了目标贝塞尔光束”这一核心问题。
五、系统功能协同与工程价值
整套代码体现了现代纳米光子学设计的典型范式:
- 解耦设计:相位计算(MATLAB)与电磁仿真(FDTD)分离,便于独立优化;
- 参数驱动:所有关键参数集中定义,修改便捷;
- 自动化建模:避免手动拖拽数千个纳米柱,确保结构精确性;
- 可验证性:提供从近场到远场的完整分析链路;
- 可扩展性:支持任意阶数、任意波长组合,只需调整输入参数。
更重要的是,该系统充分利用了几何相位的宽带特性——由于相位仅由旋转角度决定,与波长无关,同一结构可在多个波长下工作。这一点虽未在当前代码中直接演示(仅仿真单一波长),但其设计逻辑已为宽带验证预留了接口(如修改光源波长即可复用同一结构)。
结语
本文通过对四份核心代码文件的功能逐层剖析,揭示了该超表面贝塞尔光束生成系统在工程实现层面的精巧设计。每一行代码都服务于一个明确的功能目标:从光学相位到纳米结构,从电磁仿真到远场验证,环环相扣,逻辑严密。该系统不仅是一套研究工具,更是一份优秀的计算光子学工程实践范例,其模块化、自动化与可扩展的设计思想,值得在更广泛的超表面设计任务中推广与借鉴。