FDTD全息超透镜几何相位-传播相位超表面成像,Gs算法优化,相位库建立,超透镜搭建

FDTD全息超透镜几何相位-传播相位超表面成像,Gs算法优化,相位库建立,超透镜搭建 FDTD全息超透镜几何相位-传播相位超表面成像Gs算法优化相位库建立超透镜搭建。最近在搞超透镜设计发现这玩意儿真是把几何相位和传播相位玩出花了。咱们直接上硬货——用Python实现的G-S算法优化相位分布时有个骚操作用numpy的fft2实现快速迭代。比如这段核心代码for _ in range(20): # 简单粗暴迭代20次 amp np.abs(target_image) # 目标振幅约束 phase np.angle(np.fft.ifft2(current_field)) current_field amp * np.exp(1j*phase) # 振幅替换操作 current_field np.fft.fft2(current_field)这其实在玩光的波动性魔术每次迭代都把振幅强行掰成目标图像亮度相位信息则保留下来。记得去年做实验时用这种骚操作硬是把衍射效率从30%怼到了68%实验室的师兄直呼这不科学。相位库建立才是真正的体力活得先搞明白纳米柱结构参数和相位响应的映射关系。用Lumerical跑参数扫描时我写了段自动遍历纳米柱尺寸的脚本for width 50:10:150 % 纳米柱宽度扫描 setup_model(width); % 自定义建模函数 run_simulation(); extract_phase(); % 提取相位延迟 end结果发现250nm高度的二氧化钛纳米柱在1550nm波长下长轴从80nm变到160nm时几何相位能覆盖完整的2π范围。这数据后来被整理成相位字典用起来跟查菜谱似的——想要什么相位直接按尺寸下单。FDTD全息超透镜几何相位-传播相位超表面成像Gs算法优化相位库建立超透镜搭建。搭建超透镜时最坑的是传播相位和几何相位的叠加方式。有次用错坐标系公式把左旋圆偏振光搞成了右旋重构图像直接镜像翻转。后来在FDTD仿真里加了这段偏振检测代码才揪出bugEx get_field(Ex) # 获取电场分量 Ey get_field(Ey) stokes calculate_stokes(Ex, Ey) # 计算斯托克斯参数 plot_ellipse(stokes) # 画偏振椭圆现在看师弟们还在用传统金属ens忍不住安利超表面这黑科技。上周刚用传播相位做基底、几何相位当微调的方案在硅基板上实现了0.3λ的聚焦效率。测试时用Zemax对比光斑那锐利度堪比商业物镜——虽然离实用化还有距离但这玩意的设计自由度真不是传统光学能比的。最后吐槽下FDTD仿真的资源消耗跑个3D模型动不动就上百GB内存。后来学乖了先用2D近似找感觉关键参数锁定后再上真家伙。这行当就是这样得在物理直觉和计算资源间走钢丝但每次看到仿真结果和实测数据吻合时那种快感你懂的。