本文通过FDTD的参数扫描功能分析了薄膜中WO3层厚度对反射率影响,结果曲线如下图所示。
![](https://img.haomeiwen.com/i763395/058b23aed07644ef.jpg)
建模及数据分析过程主要如下:
1.导入材料
点击Materials
![](https://img.haomeiwen.com/i763395/ed679d0d2f3d86c6.png)
点击Add,选择Sampled 3D data
![](https://img.haomeiwen.com/i763395/5041f3e22d639fc5.png)
点击Import,在Select File中选择折射率文件,导入即可。
![](https://img.haomeiwen.com/i763395/7feab6f32ad4ef54.png)
2.添加结构
结构添加可以直接查看WO3.fsp文件中的设置,这里只需要设置几何位置和材料属性,记得WO3材料选用刚才添加的。
![](https://img.haomeiwen.com/i763395/ba38b2b54fcccdd6.png)
3. 设置FDTD Region
由于你这个是薄膜结构,X和Y方向是无限延伸的,z方向是你的结构,因此X,Y方向设置成周期性边界条件,边界条件中PML层profile可以默认standard,也可以设置成steep
angle,可以提高计算速度。
![](https://img.haomeiwen.com/i763395/b3477fb3a16a5833.png)
结构尺寸上按需求设置,X,Y方向没有特别要求,Z方向最小值应设置在W层中,最大值在WO3上方,同时远离结构至少半个波长。其他不需要特别修改,默认即可。
![](https://img.haomeiwen.com/i763395/ae928ba787fdefac.png)
4.光源设置
![](https://img.haomeiwen.com/i763395/2f980036c6f29103.png)
光源选择平面波,入射方向设置z负方向。光源尺寸大于FDTD尺寸(如果没有大于会在仿真时自动拓展),光源放置在结构上方,具体可以对比结构尺寸和光源尺寸查看。
随后设置入射光波长范围,这里设置成0.4~0.9。
![](https://img.haomeiwen.com/i763395/06ca396e8804452a.png)
5.监视器设置
主要设置反射率监视器。
监视器类型选择Frequency-domain field and power。
![](https://img.haomeiwen.com/i763395/42c0ee68ab1fb5e1.png)
监视器选择Z-normal,XY平面尺寸大于FDTD尺寸,大了无所谓,超出的部分不会记录数据,主要是设置Z方向的位置。反射率监视器在光源和FDTD上边界中间。
![](https://img.haomeiwen.com/i763395/99f4281f83199144.png)
6.添加mesh
建模设计过程没有先后次序,什么时候设置都可以。网格设置基于结构,并写入响应结构的名称。
![](https://img.haomeiwen.com/i763395/bef95773f48b465a.png)
7.参数扫描
参数扫描在软件右下角,也可以通过view-windows-optimizations and sweeps打开。
![](https://img.haomeiwen.com/i763395/c3d0516ff43cad9d.png)
选择第一个新建sweep
![](https://img.haomeiwen.com/i763395/401da62a30360759.png)
右键编辑,从下拉菜单中选择自己想要扫描的参数,并添加扫描范围和扫描频率,在下方添加结果监视器,这里监视器选择前面设置的反射率监视器。
![](https://img.haomeiwen.com/i763395/f8fb71910d44d252.png)
运行扫描,点击运行按钮,等待运行结束即可。
![](https://img.haomeiwen.com/i763395/9cf21099308b5fd5.png)
8.结果输出到matlab
在script prompt处输入以下语句:
R0=getsweepresult('sweep','RR');
Th=getsweepdata('sweep','Thickness');
R1=R0.T;
lambda=R0.lambda;
matlabsave('WO3.mat');
9.Matlab数据处理
在matlab中运行WO.m文件,代码为:
clear all
load WO3.mat
[x,y]=meshgrid(10^9*lambda,10^9*Th);
surf(x,y,R1.')
colorbar
colormap cool
shading interp
xlabel('Wavelength (nm)','FontSize',15)
ylabel('Thickness (nm)','FontSize',15)
参考链接:
参数扫描:
https://support.lumerical.com/hc/en-us/articles/360034922873-Parameter-sweep-utility
数据导出到matlab作图:
网友评论