怎么计算一根silicon nanowire的光吸收


#1

大家好,最近在用FDTD做计算,有很多问题,希望大家可以不吝赐教。
首先,我的计算模型就是一根长8um,直径200nm的硅线。我想计算这根硅线在波长400到800nm光照射下,光吸收的变化(也就是想得到light absorption对wavelength的曲线)。但是,FDTD中Analysis下面的Optical power里面有Cross section和Power absorbed这两个模型。然后,我在Lumerical网站上看了这两个介绍,找了很多资料,越看越糊涂。

第一,关于cross section。(1)好像既可以计算absorption又可以计算scattering,但是我用cross section计算时(FDTD文件是Cylinder Wires 3D_DI200nm_0degree.fsp),得到的结果好像是Absorption的曲线,我在建模时没有看到选择是计算absorption还是scattering,是不是默认计算的就是absorption?那么怎么选择成计算scattering? (2)FDTD软件的Simulation里面选择了Region,然后在出现的FDTD中右键选择编辑时,出现的General下面有dimension,这个里面可以选择2D或者3D,那么,是不是选择2D时cross section计算的就是这跟硅线的一个截面的absorption?选择3D时计算的是整根硅线的absorption?

第二,关于Power absorbed。(1)如果上面说的选择3D时计算的是整根硅线的absorption,那么这种用cross section模型计算得到的absorption和用Power absorbed模型计算的absorption有什么区别吗?

最近对这个计算非常困惑,希望大家能帮助解答,非常感谢!!Cylinder Wires 3D_DI200nm_0degree.fsp (303.5 KB)


#2

A1:分析组是通用的,如果它位于总场区记录的就是吸收,在散射区就是散射;
A2:选择2D时cross section计算的就是这根硅线的一个截面的absorption,而选择3D时计算的是整根硅线的absorption,只要设置合适,比如光源大于监视器体积。
A3:[quote=“junliu16, post:1, topic:6929”]
那么这种用cross section模型计算得到的absorption和用Power absorbed模型计算的absorption有什么区别吗?
[/quote]
Power absorbed以及Power absorbed高级分析组计算的是空间的吸收功率谱,是波长和空间位置的函数;
而cross section计算的是相对吸收率或者散射率,然后再通过运算得到相应的截面:
P = (Px1 + Px2 + Py1 + Py2 + Pz1 + Pz2)*sourcepower(f);

Calculate cross-section

cross_section = P/sourceintensity(f);

请你参见这个中文例子,里面有说明:
https://kb.lumerical.com/cn/index.html?getting_started_particle_scattering.html

另外,你需要使用TFSF光源,参见


以及搜索其他TFSF的帖子学习一些
https://kx.lumerical.com/search?q=TFSF 光源

一般来说,你仿真的水不可能就那么小体积吧?你也不会考虑水的吸收,否则结果将与TFSF大小有关,因此你就固定税的折射率比较合适(不要有吸收)。参见附件Cylinder Wires 3D_DI200nm_0degree.fsp (264.7 KB)

另外,由于你的纳米线长度有限,因此光源的入射方向可能会影响结果:如果你沿长度方向入射,纳米线是一个谐振腔,结果与沿X或Y轴入射不同。

你先学习一下吧,有问题再问。


#3

孙老师,
非常感谢您的解答。最近我们的silicon wire的模型又有了修改,我们在silicon的表面镀了一部分银(10nm厚度),可以看一下附件里的模型。
问题是cross section 计算模型的monitor区域是一个长方体,不可避免地会把表面的银包含进去,可是我只想看silicon的吸收,请问有没有什么办法可以只看到silicon wire的吸收?Cylinder Wires 3D_DI200nm_0degree_Shine to Silicon_Monitor Contains Ag.fsp (257.3 KB)


#4

这就要用另外的方法计算吸收,参见太阳能的例子:
https://kb.lumerical.com/en/index.html?solar_cells_simple_silicon_planar.html
或者仅使用Pabs—Adv分析组,我使用后者,见附件(我把最短波长设置为0.7微米是为了快速仿真,并仅监测10个波长)。

上图是不添加和添加窗口后得到的总吸收和Si的吸收。

Cylinder Wires 3D_DI200nm_0degree_Shine to Silicon_Monitor Contains Ag.fsp (262.8 KB)

你文件的问题:

  1. TFSF沿传播方向的4个棱边看到的情况不同,这是不正确的用法,虽然对你的结果可能没有什么影响。

2.严格说水应扩展到PML的外面;应该使用StretchedPML

3.仿真区不需要很大

4.注意Meshaccuracy1精度很低,你看一下折射率监视器的结果就知道了。


#5

孙老师,谢谢您的回答。
我们实验的真实情况就是光经过空气,照到水面,Si wire放在一百多微升的水里,然后光穿过水照到水里的Si wire, 您修改后光源被水完全包裹,这样会不会和我们的实际实验情况不同。还有就是,两种模型(“光源在水里面”和“光源在水外面”)的计算结果差别很大,您可以看一下图1和图2


您知道为什么吗?


#6

孙老师,不好意思呀,我的问题有点多。
您改用Pabs_Adv分析组计算得到了上图中曲线的结果。我把您修改后的模型计算后,右键pabs_adv,出现Visualize,里面有Pabs,Pabs_total选项,如果看Pabs,得到的是color map的结果,


如果看Pab_total,得到的是一条和您给的图中total曲线类似的曲线,但是值不一样,
所以,能问下,您给的包含total和si两条曲线的结果图是怎么在FDTD中显示出来的??因为我一直以为用Pabs和Pabs_Adv这两个分析组。得到的结果都只是那种color map类的图。


#7

关键是你们实验测量是不是将水的反射给归化掉了。如果是,就应该将整个仿真区放在水里。也就是你们实验是怎么计算实际入射功率的?

你的结果有很大差异,可能设置方面还需要检查,我用一个简单例子测试,两者有少许差别


mie_theory_2d (1).fsp (252.5 KB)

形状不变,只是考虑空气-水界面时,由于水的反射,实际注入到水里面的功率变小,因此吸收也相对小了。

感觉你的结果长波长精度差,不知道你是怎么设置网格和仿真区的。

你不能仅看结果,要看Pabs,Pabs_total是怎么算处理的。前者是空间吸收功率谱,与空间位置有关,是空间和波长的函数;后者是吸收率,仅是波长的函数。


#8

孙老师,您好,谢谢您的解答。我说用Pabs_Adv分析组得到的结果,如果看Pabs是color map的结果,其实我是对您这句话“上图是不添加和添加窗口后得到的总吸收和Si的吸收。”不明白,我初学FDTD,所以我可能没太明白这句话具体是怎么操作的。也就是我还是不太懂什么是 添加窗口就得到了Si的吸收?换句话说,我不太懂您那张结果图是怎么做出来的?


#9

孙老师,对不起。您说的对。我仔细检查了一遍,重新算了一边,发现 两种模型(“光源在水里面”和“光源在水外面”),结果的曲线走势应该是一样的,只是峰的高度不一样。


#10

这是我的原话,不添加窗口得到的是总的吸收,含Si和Ag。添加窗口后仅计算Si的吸收。你把脚本详细阅读一下看看有什么差别。
因为监视器没有办法仅记录圆柱物体的场,所以需要先记录整体的场,然后添加窗口再计算窗口内的吸收。


#11

其实,我是不知道怎么添加这个窗口,然后得到这个窗口内的吸收?这个具体是怎么做的呀?


#12

文件在第二次回帖里面:Cylinder Wires 3D_DI200nm_0degree_Shine to Silicon_Monitor Contains Ag.fsp3
里面分析组有:
W=meshgrid4d(4,x,y,z,f2pi);
wd=(real(eps_x)>0);窗口函数,因为Si的eps_x)>0

calculate spatial absorption from each field component separately

Pabs_x = 0.5eps0W*(abs(Ex)^2imag(eps_x))wd;
Pabs_y = 0.5
eps0
W*(abs(Ey)^2imag(eps_y))wd;
Pabs_z = 0.5
eps0
W*(abs(Ez)^2*imag(eps_z))*wd;

你需要阅读分析组中的脚本。如果只想运行就得到结果而不知道是怎么计算的,以后有问题仍然不知道如何解决。
请下载那个文件仔细阅读分析组里面的脚本,力求搞清楚每句话的意思。


#13

孙老手,您好,谢谢您的解答。我之前仔细看过您给的文件,也用您的文件计算了一遍,上面我给的两幅图就是用您的文件得到的结果。[quote=“junliu16, post:6, topic:6929”]
我把您修改后的模型计算后,右键pabs_adv,出现Visualize,里面有Pabs,Pabs_total选项,如果看Pabs,得到的是color map的结果,
[/quote]
因为我刚接触FDTD,脚本也看不太明白。所以当时不清楚计算结果列表里的 wd 就是您添加的仅计算Si吸收的窗口。
但是我通过Visualize看 wd 的结果,得到是一条直线,我没有改您文件的任何参数,是不是我看wd 计算结果方法不对?


#14

你还需要学习如何用Visualizer