solar_generation分析组的Pabs_total数据大于1

fdtd

#1

老师你好,我在模拟太阳能电池吸收时,使用solar_generation分析组得出的Pabs_total吸收数据大于1,但使用两个能流监视器得出的吸收感觉正常。这是为什么?


#2

可能是短波长的网格精度不够或者PML在短波长性能变差。你要确保划分网格的波长范围与仿真的一样,是否在FDTD/Advanced里面设置了计算网格的波长太长?另外也有可能在短波长材料的拟合很差,你检查一下看看。


#3

老师你好,我都试着改了,虽然好了点但还是大于1,按理说要是有误差的话不应该是两个都一样有的吗?为什么会不一样?
另外,材料拟合到什么样的程度算可以呢,(上面的材料拟合我看RMS error是0.254)?还是得从结果看合不合适?
下面附上我的模型,老师能不能帮我看下有没设置不合理的地方?[for ask question]4 [Pabs_total vs abs].fsp (304.6 KB)


#4

老师您好,我用Pabs算出来的吸收比例谱线和别人论文差不多,但是也是数量级不对,我算出来的最大值0.005,论文给的是0.05,然后我把index mesh从2设置为1过后,最大值一下子变为6000000,谱线线型还是比较接近,不知道什么原因


#5

@lishl15
PML 对不同波长有不同的误差,此外不同波长的网格精度也是不同的;
你的材料拟合很光滑可以了,参见这个帖子
你文件的问题我估计是仿真时间不够,或者需要减小Autoshutoffmin;

另外你的网格精度是1,精度很低,一般至少应该是2。此外还需要增加PML的层数,特别是ZMin,细化网格台靠下使得PML更薄了。

你再试。slot_cavity-modified.fsp (861.7 KB)


#6

@ykong

index mesh从2设置为1是什么参数?网格精度? 还是Equivalent index?
你先按照上面的回复修改测试一下。


#7

是Equivalent index,我看案例是选用这个网格的。FDTD/Advanced里划分网格的波长范围与仿真的一样,材料拟合能差这么多数量级?那我重新拟合下看看。还有一个问题,就是我想知道在某一个波长下,吸收随坐标轴x或者y的(距离)变化,怎么样才能得到?


#8

材料拟合能差什么数量级那一预料,因为如果你的设置和结构刚好达到谐振或者偏离谐振,结果会差别很大。
材料拟合光滑且拟合误差不大的话,只要问题是网格精度。

如果将Equivalent index变为1,那你把网格反而变粗了!

你就添加一个波长的吸收分析组Pabs_adavanced,不要对空间积分就可以得到。或者你自己根据吸收公式计算也可以。


#9

Pabs_advanced 里面有两个一个是Pabs,另一个是Pabs_total,Pabs_total是吸收和波长的关系,Pabs可以得到吸收和x轴或者y轴的关系,但是那个是在固定y、z轴一个数值之后才能得到吸收和x轴的关系,而且这个纵坐标的数值很大,是什么原因?是要继续增加Equivalent index吗?这个数值选择有什么方法吗?


#10

Pabs = rectilineardataset(“Pabs”,x,y,z); 这个是已经把波长作了积分,得到的是空间x,y,z分布;
Pabs_total = matrixdataset(“Pabs_total”);
Pabs_total.addparameter(“lambda”,c/f,“f”,f);
Pabs_total.addattribute(“Pabs_total”,Pabs_integrated);
这个是对空间积分得到的是频谱分布。
吸收功率普本身是空间和频率的函数,你可以对它操作得到你想要的结果啊。你如果愿意对y,z积分也可以,要一个切面也可以。你先修改分析组,有问题将文件发来,否则不知道你做了什么处理。

不需要继续增加Equivalent index。 这个是细化网格的一种办法,Equivalent index等于多少就是要把这个区域的网格按这个折射率来划分。在有金属存在的情况下有可能反而把网格变粗了。你需要检查测量看看是不是变细了。