资源来自于: FDTD100_My_First_Sim_simulation_setup_demo_哔哩哔哩_bilibili
-
纳米孔阵列仿真
- 玻璃基板
- 金表面厚度 100nm
- 孔100nm
- 周期 400nm
- 平面波,正常入射,400-700nm
-
步骤
-
1.材料
-
选择材料Au、玻璃、etc(折射率为1的材料,用于设计刻蚀孔结构,若背景指数不为1,则需改材料折射率以匹配背景指数,本次仿真均为默认)
2.结构
(1)选择矩形作为金膜,编辑时选择左侧工具栏按钮见图(或者标题栏中edit选项、鼠标右键对象也可),编辑好的结果见图。具体参数含义如下:
几何参数汇总中,XYZ三个为位置信息,span为距离,我们目标见第一章周期是400nm,设置1.2um即代表3个周期,Zmax为厚度。
-
(2)选择材料为Au-CRC
(3)使用Ctrl+c/v或者edit标题栏对结构进行复制黏贴,设置基底,设置后的结果如图,此外需要将材料设置为Si02 (Glass)-Palik
(4)在对象库(object library)中(找不到可以在标题栏view-windows- object library中添加),插入光子晶体中的rectangle lattice PC array(建好结构如图)
此时我们建立了一个3*3的结构图,然后我们只需要仿真一个结构,并建立合适的周期性边界条件以模拟无限周期结构
-
3.仿真(求解)区域
(1)选择Simulation中的region,并右键编辑
-
(2)在general中设置求解区域尺寸(使用默认设置即可)
(3)在geometry中设置空间信息,如图
(4)网格设置中设置网格生成方式以及网格细化方法(默认即可,若想获得高精度结果,可在收敛测试阶段增加网格精度)
(5)边界条件设置,如图,设置PML后在右侧设置具体参数,其中剖面设置为陡角(steep angle,光发生衍射同时陡角有利于吸收某角度入射的光),设置好后使用工具栏zoom extend查看,左右蓝色为周期性边界,上下橙色为PML边界;可使用ruler检查区域z跨度是否够大(经验法则是:我们希望在PML前面至少有一个均匀材料波长的一半的距离),我们仿真的是400-700nm,因此PML上方空气和下方玻璃至少为0.35μm,在使用ruler下方将会显示距离。
注意,基板下方也有PML层,意味着任何穿过玻璃的光都会被吸收。
(6)simulate中mesh:
此操作相当于模拟了基板的半无限厚度,网格覆盖区域用于指定模拟体积中局部区域上的网格步长。此次仿真使用更细的网格来解决纳米孔弯曲形状以及金膜厚度问题。设置如下,使用现有结构circle,此操作将会在对象名为circle的所有结构上绘制网格覆盖区域。(理想情况下,希望网格落在金膜边界处)
使用下图可以设置网格,在模拟等离子体效应设备时,对于网格划分可能很敏感,因此我们在工程图设置中关闭网格。
在此步骤中,我们设置了网格尺寸为10nm,这不一定是最终值,为了获得更精密的仿真结果,我们可在后续的收敛测试中设置更精密的网格。
-
4.源(设置一个垂直于结构上方的平面波源)
设置plane wave并编辑使其沿z轴向后传播,设置几何位置,使得光源结构上方空气中。在频率波长中设置源的波长起止范围
-
-
5.监视器
(1)设置折射率分布监视器
设置监视器以记录数据(如折射率分布、反射、透射光谱、电场、磁场分布以及时域场动画)
设置合适几何位置,使监视器位于金层中,添加多个监视器,本次设置折射率分布监视器。
监视器可以设置在仿真区域外,但数据仅记录仿真区域内,即仿真边界会截断数据。
注:使用index监视器时,仿真前即可查看索引预览结果。
如XY面结果:(注意孔曲面的分辨率受网格步长的限制,可在收敛测试中更改)
(2)添加一个频域功率监视器以测量反射光谱
如上图,可以直接点击拖动到合适位置(源上方),设置光源波长范围内测量的点数为50,设置好后复制一个。
在窗口中拖动使新的监视器测量透射光谱(如图)
(3)添加频域轮廓监视器以测量XZ平面中的场轮廓
这里只需5个数据即可满足测试需求;此外,设置监视器类型为2D Y-NOEMAL
(4)添加电影监视器
设置几何形状以匹配(3)中轮廓监视器,并在general中设置电影生成的动画分辨率以及将要录制的现场分量。默认记录电场强度,同时电影文件保存在当前工作目录,也可在file中更改工作目录。
至此,仿真文件建立完毕,但是这里可以做最终改进是利用结构和源的对称性来减少仿真的仿真量。
注意:由于结构的对称性(结构关于x=0和y=0面对称),因此仅需模拟1/4的晶胞,并且场可以展开到整个晶胞。但是对称结构是需要建立的。
-
#6.在边界条件下建立对称结构(不是一定有的步骤)
前面建立仿真区域时,建立了FDTD,此时右键编辑即可
此时得到的结果如下图,图中未用蓝色或者绿色阴影表示的是仿真的区域(黑色标记出来了),但是结果会自动展开到整个单位像元。此设置获得的结果与使用周期性边界条件结果相同,但是所需的内存更少。
-
7.仿真前的检查
在仿真前,检查菜单十分重要。在‘材质资源管理器’中检查材料配合,同时检测内存报告十分重要。
其中,(1)材质资源管理器将绘制仿真中设置的材料,从而保证拟合曲线和材质数据相贴合。(如有必要,可以调整拟合中使用的系数数目等拟合参数,以改进拟合)(2)内存报告给出模拟的估计内存(可以减少模拟体积方法:使用粗糙网格、对称网络、减少监视器尺寸和记录的频点数并且只记录必要的场数据)
8.运行
其中Autoshutoff level用于设置自动关闭的能量阈值(低于)
-
仿真后的结果与分析
1.分析组
在运行完FDTD后,此时‘run’被替换为‘layout’,即可在此模式下进行数据分析操作(注:退出前注意数据的保存)。
点击设置的监视器即可在下方result view ……中查看监视器收集的数据。而电影监视器则会保存视频文件于工作目录(在对象树(objects tree)中有红色标记的对象均有运算数据)。
此外,若需运行脚本以进行最终结果计算的分析组,鼠标右击结果,运行‘Run analysis’即可运行脚本,例如下图所示。
-
2.结果查看
右击查看结果,例如下图。FDTD可视化工具能够绘制线、面、矢量图,若需导出数据或者图片,只需在可视化窗口上方选择图片或者文本导出即可。
(1)对于电场,在结果中选择E查看数据,在轮廓监视器中我们选择了5个频率点,因此可在参数中的lambda中选择合适的点进行绘图。
- (2)多个结果同时绘制:
同(1),可以查看反射和透射监视器中的数据,也能够将数据添加到现有的可视化器中(同一窗口绘制多个结果)。先绘制反射功率谱,再添加透射谱。同时可在下方更改数据的横坐标类型等。当然也可以在脚本编辑器中编辑。
注意:由于净功率流向-z方向,因此可能某些数据如透射监视器结果会出现负值。