FDTD的流程笔记
步骤的很多设置没有仔细的写,找不到办法可以尝试看看这篇“FDTD相关问题”,点这里
这篇写监视器的功能,光源的分类,TFSF光源斜入射的实例(有/无边界)
设计流程如下图:
模型构建, 如纳米孔阵列构建:
a表示小孔间距,radius为小孔直径,etch表示其他默认为空气,
删除多余纳米孔操作:(1)展开组,右键break groups,(2)选择删除,
添加材料,如空气,mesh order为优先级(越小优先级越高)
添加仿真区域FDTD
区域大小设置,可以设置为一个周期的(x-y平面是周期),z为PML且大于所测区域**(pml层距离结构至少要半个最大波长)**
仿真精度mesh accuracy可选4-6,
如果为金属材料,设置mesh refinement 为c v-1
边界条件:若xy为周期边界条件,设为Periodic,
PML层数的设置(推荐用stretched coodinate PML,因为比较快):我主要用standard的。一般用第一个standard,有表面波有波纹用第二个stab,光源入射角或衍射角大用第三个stee,改pml参数用第四个custom。
如果是金属材料,pml的层数和最大层数越大越好,可以改为256层,最小层64。
如果用石墨烯材料的话,层数不是越多越好的,比如一般论文里的石墨烯厚度为1nm,不同的Pml层数会导致出现不同的光谱。
我平时用石墨烯论文复现的话用standard的8-32层。
添加光源,source
平面波 plane wave,沿z轴正方形射入(方向有backward和forward),光源xy面要大于等于仿真的区域,(光源可以手动拉到任何位置)
如:设置光源为单色光波长为500nm(center/span),如果是高斯光束,设置波长范围再.4-.8um之间
其他类的光源看这个链接https://blog.csdn.net/sinat_34842383/article/details/103172750
设置监视器,(X,Y,Z),覆盖sio2和金属层,
设置折射率index of refraction,与Y垂直区域,覆盖仿真区域即可
设置时间计时器time,每个介质设置一个,且距离在介质交界面5-6nm 处,
电影层的范围,与Y垂直区域,覆盖仿真区域即可
设置场分布frequency-domain field pofile(主要看电场和磁场),一般设置频率点为100-500个。在yz平面(2D-xnormal)上。覆盖仿真区域即可
设置功率(透射率和反射率)监视器frequency-domain field and power,其中因为实时曲线,频率点取500,在xz平面(2D-Y normal)上,勾选override global默认为全局监视器设置—
透射率T ,其中因为时曲线,监控频率点取100-500,在xz平面.
反射率R
完事保存模型,验证调用是否成功
仿真运行计算
Check 蓝色是拟合数据,绿点是材料库数据,max coefficients调实部的拟合,点开show advanced里面可以调整虚部的拟合。
场分布在frequency-domain field pofile里查看。
vector 里看辅助(magnitude)x,y,z方向,
看T和R(R的反射不是负值,FDTD结果是坡印延矢量,有正和负,Scalar设为——Re即可)
同时看T和R,修改标签legend
看吸收率A
使用右边的Script file editor
f=getdata("R","f");
T=transmission("T");
R=-transmission("R");
A=1-T-R;
plot(c/f*1e6,A,T,R,"wavelength um","T,R");
length("A","T","R");