关于fdtd扫描和嵌套扫描的问题

fdtd

#1

2016_3_28_TP.fsp (265.1 KB)我是一个初学者,在扫描光栅的时候想得到波长、光栅厚度、光栅周期三者之间的关系,我设置的扫描是波长嵌套周期、在嵌套厚度,得到的结果并不是三者之间的关系,请问要得到我想要的这个结果应该如何设置?


如何设置扫描或优化程序来实现多层膜下对反射率优化的模拟?
#2

你的扫描是3层嵌套,得到的结果是
[n1,n2,n3]的矩阵
其中n1是最内层Thickness的扫描点数;
n2是中间层Period的扫描点数;
n3是最外层Wavelength的扫描点数。
其实,你可以不必扫描波长,因为FDTD本身就可以宽谱计算。如果光源是宽光谱,监视器记录的是宽光谱,那末第一个结果数据也是[n1,n2,n3]的矩阵
不过现在n1是监视器记录的频率/波长点数(来自监视器);
n2是内层Thickness的扫描点数;
n3是最外层Period的扫描点数。


#3

看了你的模型,在最内层的扫描里面设置了很多部件的扫描,这样会给数据分析带来不便的(个人经验),可以试着在根据需要先扫描最重要的部件的厚度,得到优化的数值后在扫描其他的部件。


#4

优化和扫描的区别是什么?比如对于硅厚度,既可以扫描一系列厚度对应的耦合效率,也可以优化得出最高效率对应的那个厚度?


#5

优化可以得到指定范围内满足指定目标函数的最优结果,但是你并不知道随着参数变化其它结果量的改变,例如,优化是对整个宽光谱内的平均反射率,但是你不知道反射率频谱是怎么变化的,也许有些物理现象被淹没了。

扫描可以大致估计较好的参数,同时可以看多个结果量随参数变化而如何改变的。例如,随着厚度的增加,反射率的峰值波长在增加或减小。


#6

那么说,扫描能看到变化曲线,包括最高点(最优结果),那么扫描能代替优化了?那优化的设置是方便什么的?


#7

扫描一般不能正好得到最高点,与你选择的扫描点数有关;只有优化才可以。
我一般建议大家先做扫描,得到大致的参数区域范围,然后再用优化在此区间内找最佳结果。

具体你怎么用取决于个人意愿。


#8

懂了,谢谢老师的解答


#9

既然能在优化下面嵌套扫描,为何不能在宽谱下优化一个参数与效率的关系(之前提问了)?是先后顺序和并列运行的问题吗?另外问一下嵌套优化扫描的问题,外层优化(或者扫描)是在内层扫描的结果上,比如扫厚度,就是在一个厚度值的基础上作另一个参数的优化(或者扫描)?


#10

对于nested sweep里面的fsp文件里的优化,为什么不能看到随着角度变化的R曲线?


#11

是我们使用的这个算法只能计算一个目标函数,如果要多个目标函数,你需要用MPI和Matlab。

一般是根据内层扫描的结果来优化。例如需要非相干的结果,平面波周期结构需要两个偏振光源,所以内层扫描就是偏振,它们的合成结果才能作为优化函数来优化。
如果是几何参数嵌套优化+扫描,你首先要看看这个是不是必要?你要对扫描的结果做什么处理才能来优化?

因为优化是针对40到50度入射角之间的反射率对厚度进行的



也就是将这个范围内的反射率作平均,然后通过改变厚度来实现最大反射率的。结果是一个数,最大的反射率,和对应的厚度参数。

如果需要了解优化的过程,可以查看(此图不是针对你说的例子)