时域有限差分法(Finite-Difference Time-Domain,FDTD)是一种严格的电 磁场仿真方法,它可以离散电磁场的空间和时间分量,将仿真模型划分为一个个离散的时间和空间网格构造的单元,将麦克斯韦方程转化为差分形式,在时域上进 一步求解差分方程得到所需场分量。有限差分一般步骤为:采用一定的网格划分方 式离散化场域,将其划分成一个个时间和空间上的网格;对场内方程和相关边界条件进 行差分离散化,得到差分方程组;结合选定的方程组的求解方法,求边值问题的相关数值解。
我们通过使用FDTD仿真软件建立三维高斯分布的薄膜结构,其生成的结构:
1、选择材料
如果没有所需材料,点击新建材料,选择添加材料的类型,我们以(n,k)材料为例,并设置材料的折射率等。常用材料的折射率如下网址Refractive index of Mo (Molybdenum) - Windt
2、建立FDTD脚本。
3、编写FDTD代码,编程语法在这个网站https://optics.ansys.com/hc/en-us/articles/360034923553-Lumerical-scripting-language-Alphabetical-list
编写程序如下:
编程前删除所有结构,如有用的结构可以不加
selectall;delete;
建立高斯分布的半高宽(FWHM)和高度(height),
nm = 1e-9;
FWHM = 30;
sigma = FWHM/2.35482; #2*sqrt(ln4) sigma is defined as half width
height = 5;
建立高斯分布结构,选择材料为Si,也可以选择自己新建的材料,选择单位为nm,custom选项是使用方程建立薄膜。
addsurface;
set("material","Si");
set("surface units","nm");
set("custom",1);
set("conic",0);
设置网格精度为1,建立薄膜从底部生成,编写高斯分布方程,主要要是用字符型,设置坐标原点和x,y,z方向的范围。
set("detail",1);
set("zero plane","lower edge");
set("equation",""+num2str(height)+"*exp(-(u^2+v^2)/(2*"+num2str(sigma)+"^2))+"+num2str(1)+"");
set("x span",800*nm);
set("y span",800*nm);
set("z span",100*nm);
set("x",0);
set("y",0);
set("z",0);
最终结果是: