利用DEVICE模拟计算光探测器,导入Optical Generation Rate文件后得到的I-V曲线和导入之前相同


#1

我将FDTD计算得到的matlab文件按照以下方式导入到了DEVICE中:

点OK关闭之后再打开就是这样的界面:

右键visualize能够得到OGR的数据,请问这样是导入成功了吗?
然后参照InP/InGaAs Uni-Traveling Carrier Photodetector例子,输入了以下script::
switchtolayout;
setnamed(‘CHARGE::generation’,‘enabled’,1);
setbc(‘cathode’,‘steady state’,‘range start’,0);
setbc(‘cathode’,‘steady state’,‘range stop’,5);
setbc(‘cathode’,‘steady state’,‘range num points’,26);
run;
anode = getresult(“CHARGE”,“anode”);
Vrr = -flip(pinch(anode.V_cathode),1);
Irr = 2*flip(pinch(anode.I),1);
plot(Vrr, abs(Irr),“Vrr(V)”, “Irr(A)”);
得出来的I-V曲线和没有添加OGR文件时是一样的,请问是我的script有问题吗?还是因为OGR需要包含电极,或者是有其他的位置要求?我的OGR恰好包含了整个PIN结构。实在是不知道哪里出了问题,希望能解答我的问题,不胜感激!


#2

很可能是因为你把ScaleFactor设为零的缘故。这个参数是为了修改光源绝对功率的,设置为零等于没有光照。


#3

谢谢孙老师!但是为什么我把scale factor设为1之后得到的I-V曲线和没有光照时得到的曲线只有极微小的差别呢?相同电压下对应的电流只有零点几个nA的差别,这是我建的模型,希望您能帮我看一下哪里的设置出了问题,非常感谢!!!http://yun.baidu.com/share/link?shareid=1803827689&uk=120018265


#4

很可能问题出现在你的光学仿真的分析组设置。参见这个例子
里面有这句话 The source intensity as well as the name of the output file can be specified. The source intensity is set in such a way so that the generation rate is calculated for unity input power (1 W).

这个是在分析组里设置的:
请仔细阅读这个入门例子。

如果你的光学仿真仅用了1 V/m,光源的功率很小,所以你可能需要大大增加这个ScaleFactor,大小你需要算,得到你需要的功率。

你可以用Visualizer对比你的文件和例子文件到的Generation大小。你的在14次方而例子在34次方量级


请将Generation物件Enable,并改变Z坐标来查看。


#5

谢谢老师!我和例子对比了一下,应该是因为我之前用的是平面波,把光源改为Modesource之后得到的Generation就在30次方量级了,那在探测器的光学仿真中光源都需要设置成Modesource吗?我看到在所有光探测器例子中用的光源都是Modesource,如果是这样的话,对光谱范围是不是有一定的限制呢?


#6

你仿真的是波导探测器就应该用模式光源;
光源的光谱宽度不应该任意设定,应该根据需要设。例如在光通讯波段,你就设这个波段的。