【FDTD仿真学习】Dual-polarity plasmonic metalens for visible light

资源

Dual-polarity plasmonic metalens for visible light 文章链接
b站仿真视频链接
FDTD常用功能网页
FDTD Solutions光学仿真官方教学视频
FDTD100 初级入门教学(双语加字幕版本)

说在前面

关于FDTD的学习资源比较少,比较有限的,我自己的想法是通过将网上的仿真教程都自己跟一遍,然后再根据要仿真的结构进行仿真,再和论文的结果进行对照,上面是这篇文章的仿真,以及一些常用的资源,之前的学习思路有点不对,其实FDTD的学习有点像matlab的学习,就是遇到不会就去查,多自己去试,可以查网上资源(比较少),官方网站,gpt等等,还是以项目驱动去做可能好一点。

论文思路

在这里,我们通过实验演示了一种基于圆偏振光螺旋性相关相位不连续性的反直觉双极性平面透镜。具体来说,通过控制输入光的螺旋度,可以在同一平面透镜中实现正负极性互换。在同一等离子体透镜上在可见光和近红外波长下观察到螺旋度可控的实焦平面和虚焦平面以及放大和缩小成像。

这篇文章都是12年的文章了,本质上其实就是运用PB相位,RCP和LCP的光在超原子旋转时获得的相位相反,因此对于RCP来说,呈现出凸透镜(聚焦)的相位分布,由于LCP的是获取的相反的相位分布,因此获得是凹透镜(发散)的相位部分,如图1所示。

图1.超透镜相位分布要求
结构示意图如图2所示,结合文章中的描述我们知道,原子在x方向上沿着不同的角度进行旋转,在y方向上是周期性排布的。模拟的透镜在图2中展示,具有10微米(μm)的焦距。
透镜的孔径是8微米乘以8微米(8 × 8 μm²),这是一个正方形的开口尺寸。
透镜由21个偶极天线沿着x方向排列组成,每个天线之间的间距是400纳米(nm)。
图2.结构示意图
得到的结果图3所示,可以看到随着RCP的入射,在±15um处出现了两个焦点,是应为投射和反射都对应金原子呈现出了相同的聚焦相位(可能是因为金的缘故?后续用成介电材料应该就没有了)
而对于LCP的入射,却呈现出相反的相位,也就是发散相位,如图b所示,没有出现聚焦情况。
图3.结果图
进一步的也可以确定仿真的范围,x span 在10um左右,z span 在30um左右,关于散射光源TFSF的使用范围文章中也没有说,应该是只要包含原子就是,关于放着中为啥用TFSF不用plane wave 我也不清楚。

仿真过程及结果

仿真有几个部分需要考虑,首先是模型原子的建立,从文章中可以看出需要的原子的长宽高 L W H 以及材料属性,这个文章中仿真不需要基底,所以不用考虑基底了。
The dipole antennas are 200 nm long and 50 nm wide
The dipole antennas are made from gold with a thickness of 40 nm.
consisting of 21 dipole antennas along the x direction with S=400 nm.
y方向周期性排列
旋转角按照下面图1公式设置。
第一部分,设置结构组,设置基础的金原子的长宽高,材料,旋转角,按照循环设置即可。
第二部分,FDTD设置,设置边界条件,y边界为边界条件,x和z边界为PML边界。设置FDTD区域大小,x span 要能够把所有的atom都能够覆盖。z方向上,要能够将涉及的聚焦焦距覆盖。从图3中可以看出其仿真图的范围是-5到5um,以及-15um到15um的区域。对于y方向而言,只需要将atom能够覆盖即可,由于atom是可以旋转的,最长就是其对角线长度,只要比这个稍微大半个波长就行了。
第三部分,设置mesh,mesh的大小会影响仿真的精度,一般将结构设置较精细的mesh,使得在结构中也能有比较精细的模拟结果,同时对于结构之外的空间,mesh可以设置的相应的大一些。
第四部分,设置光源,这里研究的是散射场,故需要考虑的则是TFSF光源,光源在x方向上需要包含所有的atom,在y方向上由于是周期性结构,因此需要超出FDTD的y方向区域,在z方向上需要设置的大一些,包含掉所有的atom。
第五部分,设置监视器,由于论文中需要的是xz平面的结果,所以设置的监视器是2D-y的监视器,设置范围也如同论文显示的区域即可。
具体的设置如下
总的需要这些部分。
在这里插入图片描述
对于结构组的设置,首先要设置一系列的基本参数
在这里插入图片描述
在script处,设置结构需要如下的代码

deleteall;
for(i=(-number/2+0.5):1:(number/2-0.5))
{
    addrect;
    set("x",S*i);
    set("x span",L);
    set("y",0);
    set("y span",W);
    set("z",0);
    set("z span",H);
    set("material",Au);
    set("first axis","z");
    k0=2*pi/lmd0;
    fai=0.5*k0*(sqrt(f^2+(S*i)^2)-abs(f))/pi*180;
    set("rotation 1",fai);   

    }

设置FDTD的模拟时间
在这里插入图片描述
设置x span :10um,就可以足够cover atom的x的范围,设置y span为0.4um,大于atom的最长的部分0.2um-0.05um的对角线长,设置z span 为30um,足够看到聚焦的位置。
在这里插入图片描述
设置边界条件
在这里插入图片描述
在这里插入图片描述
设置TFSF源,x span 可以cover atom的范围,但是还在FDTD的x范围内,y span 超过atom 和FDTD的大小,因为在y方向上是周期化,在z方向是能够cover atom的范围就行。
在这里插入图片描述
设置频率为所需要的740nm
在这里插入图片描述
再设置一个y polarization,再设置-90度的相位延迟的TFSF源。
在这里插入图片描述
在mesh中,根据structure设置mesh,设置的mesh的大小如下。
在这里插入图片描述
在这里插入图片描述
可以看到,在xz方向上,格子还足够密,是可以的
在这里插入图片描述
在结构之外的设置比较稀疏的mesh,能够cover FDTD的全部区域
在这里插入图片描述
mesh大小为0.04
在这里插入图片描述

设置monitor,在global monitor设置中设置单一的频率。
在这里插入图片描述
设置的2D-Y normal的监视器,范围能够全部cover住FDTD的范围就可以
在这里插入图片描述
设置到这里就算结束了,估计一下这个需要的内存,大概2G,所以mesh设置的比较合理。
在这里插入图片描述
运行后,得到结果,对E进行可视化,结果如下。

因为是散射场,其中包含了入射场的结果,所以要把入射的结果剪除获得纯粹的结果,这可以通过将原有的结构组中的材料设置为etch来满足。
在这里插入图片描述

然后将两者进行剪除,获得想要的结果。按照下面的代码,储存成一个lsf文件。

clc;
clear;
#先读取第一个结构的结果
load("RCP.fsp");
data=getresult("monitor","E");
E=data.E;
x=data.x;
z=data.z;

Ex=matrix(length(x),length(z));
Ey=matrix(length(x),length(z));
Ez=matrix(length(x),length(z));
Ex(:,:)=E(:,1,:,1,1);
Ey(:,:)=E(:,1,:,1,2);
Ez(:,:)=E(:,1,:,1,3);

R1=sqrt(abs(Ex)^2+abs(Ey)^2+abs(Ez)^2);
#P1=angle
#再读取第二个结构的结果

load("RCPoff.fsp");
data=getresult("monitor","E");
Eoff=data.E;
x=data.x;
z=data.z;

Exoff=matrix(length(x),length(z));
Eyoff=matrix(length(x),length(z));
Ezoff=matrix(length(x),length(z));
Exoff(:,:)=Eoff(:,1,:,1,1);
Eyoff(:,:)=Eoff(:,1,:,1,2);
Ezoff(:,:)=Eoff(:,1,:,1,3);

R2=sqrt(abs(Exoff)^2+abs(Eyoff)^2+abs(Ezoff)^2);


#两者相减,并进行可视化

ccc=sqrt(abs(Ex-Exoff)^2+abs(Ey-Eyoff)^2+abs(Ez-Ezoff)^2);
image(x,z,ccc);

结果如下
在这里插入图片描述

  • 26
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值