Lumerical官方案例、FDTD时域有限差分法仿真学习(七)——纳米孔阵列(Nanohole array)

我们将计算金属薄膜中纳米孔阵列的透射和反射光谱。 我们还将考虑薄膜表面的近场分布和局部场增强。

在这里插入图片描述
一、模拟设置

文件 sp_array.fsp 可用于在 100 nm 厚的金层中模拟半径为 100 nm、间距为 400 nm 的纳米孔阵列。 金层使用默认材料数据库中包含的“Au(金)-CRC”模型。 平面波源的波长范围为 400 到 750 nm。 对阵列的单个晶胞进行建模,并使用对称/反对称(symmetric/anti-symmetric)边界条件将模拟量进一步减少 4 倍。(请注意,对称/反对称边界必须与源极化一致。 ) FDTD 网格精度为 2,金材料网格覆盖为 10 nm,模拟在单台计算机上运行几秒钟。 每次模拟都应该对网格尺寸进行一些收敛测试,通常应该使用 5 nm 或更小的网格尺寸来获得最终结果。

二、结果

运行模拟后,运行脚本文件 sp_array.lsf。 它将执行一系列具有代表性的计算并创建如下所示的图。 我们可以看到在大约 675nm 处有一系列共振最强。 该脚本还创建了一个归一化为孔面积除以晶胞面积的透射图,这使得我们很容易看到我们有非凡的透射。

2.1 透射和反射vs波长

在这里插入图片描述
在这里插入图片描述
2.2 验证材料特性

验证 FDTD 模拟中使用的金材料在整个波长范围内是否具有所需的特性有时很有用。 下图显示了模拟中使用的金材料的折射率作为波长的函数。

(n,k)材料模型:单个复数折射率值(例如,n + ik = 2 + 0.05i)定义材料

在这里插入图片描述

2.3 近场图

下图显示了金表面的 ∣ E ∣ 2 |E|^2 E2,位于透射侧和反射侧。 我们可以看到局部近场增强非常显着,因为入射场强为 1 V/m。

在这里插入图片描述
在这里插入图片描述
下图所示的 x-z 平面中的横截面将颜色条调整为 1 到 10 的范围。这使得可以很容易地看到近场强度增强至少为 10 的区域。

在这里插入图片描述
模拟还将制作名为 sp_array_nanohole_movie.mpg 的 mpeg 电影。

三、案例分析

3.1 仿真结构

model所包含的内容:

在这里插入图片描述

纳米孔是一个个画的,用etch刻蚀材料。
在这里插入图片描述
因为只仿单个晶胞,所以simulation time设置的也较小,500fs

仿真区域大小也是纳米孔之间的间距400nm

在这里插入图片描述
根据光源的极化,设置了对称边界。
在这里插入图片描述
上一届也提到了,蓝色偏振方向垂直于绿色(反对称),平行于蓝色(对称)。

在这里插入图片描述
根据上文说的“金材料网格覆盖为 10 nm”,然后基于结构 (base on structure),给每个孔都加了mesh

在这里插入图片描述
在这里插入图片描述
设置了光源范围为400到750nm.
在这里插入图片描述
监视器

这个监视器位于金层下方10nm处,xoy平面,看675nm波长处的反射

在这里插入图片描述
这个监视器位于金层上方10nm处,xoy平面,看675nm波长处的透射
在这里插入图片描述
这个监视器看xoz平面,局域增强
在这里插入图片描述
R和T都是放的更远的只记录功率的监视器
在这里插入图片描述
在这里插入图片描述
time_hole和time_corner都是记录时域场衰减的。

折射率监视器结果,由于采用了对称边界条件,这里也仅显示1/4的图形结果。

圆边锯齿形:仿真精度不够

在这里插入图片描述
上图的折射率监视器显示的是中心波长0.575um下的折射率分布。
在这里插入图片描述
3.2 sp_array.lsf

##########################################################################
# Scriptfile: ap_array.lsf
#
# Description: This script calculates the transmission
#	and reflection vs wavelength
#	for the file ap_array.fsp. It also
#	creates plots of field profiles.
#
# Copyright 2012, Lumerical Solutions, Inc.
###########################################################################

# calculate the transmission and reflection as a function of wavelength
# 计算作为波长函数的透射和反射
f = getdata("R","f");
lambda = c/f;
T = transmission("T");
R = -transmission("R");
plot(lambda*1e9,R,T,R+T,"wavelength (nm)","T and R");
legend("R","T","R+T");

r=100e-9;
period=400e-9;
plot(lambda*1e9,T/(pi*r^2/period^2),"wavelength (nm)","T (normalized)","T normalized to pi*r^2/unit_cell_area)");
# 归一化为孔面积除以晶胞面积的透射图,以便很容易看到我们有非凡的透射

ngold=getfdtdindex("Au (Gold) - CRC",f,min(f),max(f));
# 返回材料的折射率
plot(c/f*1e6, real(ngold),imag(ngold),"wavelength um"," n, k","index of gold simulated");
legend("n","k");
setplot("x min",c/f(1)*1e6);
setplot("x max",c/f(length(f))*1e6);


# look at the field profiles recorded at 495 nm, reflected surface
# # 查看在 495 nm 处记录的场剖面,反射表面
E2_r = getelectric("profile_at_675nm_R");# 返回所有电场分量的振幅平方和
E2_t = getelectric("profile_at_675nm_T");
E2_xz = getelectric("profile_at_675nm_xz_plane");
x = getdata("profile_at_675nm_R","x");
y = getdata("profile_at_675nm_R","y");
z = getdata("profile_at_675nm_xz_plane","z");
image(x*1e6,y*1e6,E2_r,"x (microns)","y (microns)","|E|^2 at reflected surface");
image(x*1e6,y*1e6,E2_t,"x (microns)","y (microns)","|E|^2 at transmitted surface");
image(x*1e6,z*1e6,E2_xz,"x (microns)","z (microns)","|E|^2 at y=0");
setplot("colorbar min",0);
setplot("colorbar max",10);

3.2.1 getfdtdindex

在这里插入图片描述
3.2.2 setplot
在这里插入图片描述
3.2.3 getelectric

在这里插入图片描述

  • 14
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值