0%

FDTD参数扫描案例

本文通过FDTD的参数扫描功能分析了薄膜中WO3层厚度对反射率影响,结果曲线如下图所示。

建模及数据分析过程主要如下:

1.导入材料

点击Materials

点击Add,选择Sampled 3D data

点击Import,在Select File中选择折射率文件,导入即可。

2.添加结构

结构添加可以直接查看WO3.fsp文件中的设置,这里只需要设置几何位置和材料属性,记得WO3材料选用刚才添加的。

3. 设置FDTD Region

由于你这个是薄膜结构,X和Y方向是无限延伸的,z方向是你的结构,因此X,Y方向设置成周期性边界条件,边界条件中PML层profile可以默认standard,也可以设置成steep
angle,可以提高计算速度。

结构尺寸上按需求设置,X,Y方向没有特别要求,Z方向最小值应设置在W层中,最大值在WO3上方,同时远离结构至少半个波长。其他不需要特别修改,默认即可。

4.光源设置

光源选择平面波,入射方向设置z负方向。光源尺寸大于FDTD尺寸(如果没有大于会在仿真时自动拓展),光源放置在结构上方,具体可以对比结构尺寸和光源尺寸查看。

随后设置入射光波长范围,这里设置成0.4~0.9。

5.监视器设置

主要设置反射率监视器。

监视器类型选择Frequency-domain field and power。

监视器选择Z-normal,XY平面尺寸大于FDTD尺寸,大了无所谓,超出的部分不会记录数据,主要是设置Z方向的位置。反射率监视器在光源和FDTD上边界中间。

6.添加mesh

建模设计过程没有先后次序,什么时候设置都可以。网格设置基于结构,并写入响应结构的名称。

7.参数扫描

参数扫描在软件右下角,也可以通过view-windows-optimizations and sweeps打开。

选择第一个新建sweep

右键编辑,从下拉菜单中选择自己想要扫描的参数,并添加扫描范围和扫描频率,在下方添加结果监视器,这里监视器选择前面设置的反射率监视器。

运行扫描,点击运行按钮,等待运行结束即可。

8.结果输出到matlab

在script prompt处输入以下语句:

1
2
3
4
5
6
7
8
9
R0=getsweepresult('sweep','RR');

Th=getsweepdata('sweep','Thickness');

R1=R0.T;

lambda=R0.lambda;

matlabsave('WO3.mat');

9.Matlab数据处理

在matlab中运行WO.m文件,代码为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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://pan.baidu.com/s/1YRIJuSFkRKOL-KcBkWKoXg

提取码:hj9k

参考链接:

参数扫描:

https://support.lumerical.com/hc/en-us/articles/360034922873-Parameter-sweep-utility

数据导出到matlab作图:

https://sunfove.xyz/archives/b1a2cde6.html

觉着不错就支持一下吧!