光线追踪方法
SunSolve应用随机光线追踪来求解年产量。它追踪(i)各向同性天空条件,以及(ii)离散数量的太阳位置的直射光束条件(仅覆盖与场地相关的太阳位置)。然后使用这些位置的三点插值来确定一年中每个时间步长的确切太阳位置的直接天空光学。此外,它求解组件的性能,就像它在标准测试条件下进行测试一样(即在通常称为IV测试仪的太阳模拟器上)。
SunSolve追踪光线,直到它们被光学组件(例如地面、组件框架、太阳能电池)吸收或返回天空。吸收在每个电池的硅中的光线相加以给出吸收的光子电流,然后是光生电流。这在300–1200 nm的波长范围内以20 nm的间隔执行。然后,SPICE求解器使用每个电池中的光生电流来确定每个组件的IV行为。
模拟考虑波长依赖性、薄膜光学、纹理表面、偏振和散射,从而避免了视角因子或数学模型所需的许多假设。也就是说,与这些模型不同,它考虑了二次反射、角响应以及来自扭矩管和框架的阴影和反射。
参考方程和简明模型定义在基本光学页面
光线追踪算法
Section titled “光线追踪算法”SunSolve将蒙特卡洛光线追踪与薄膜光学相结合,并遵循以下一般过程:
-
创建多条光线(由高级输入”每包光线数”指定的值)。为每条光线分配波长、强度、方向和位置,
- 对于STC组件求解,位置对于正面照明位于组件上方,或对于背面照明位于组件下方,
- 在产量求解期间,位置定位在单元系统的顶部(即上方)
-
每条光线沿直线前进,直到它与界面相交,例如组件的正面或背面、系统结构或地面。
-
在此交互以及与界面的所有未来交互中,
- 计算反射率、透射率和吸收率,其中每个值取决于波长λ和电场(偏振),以及界面两侧材料的复折射率和它们之间的任何薄膜;
- 光线的强度通过吸收率的值降低;
- 反射率和透射率的大小转换为概率;
- 根据这些概率加权采取随机决策,以选择是在界面处反射还是透射光线;
- 根据光线是反射还是透射以及分配给该界面的散射模型,计算并赋予光线新方向;
- 光线继续穿过组件,直到它与另一个界面相交。
-
如果光线穿过吸收层,其强度通过应用比尔定律降低。这种强度降低通常被认为是损失(例如,由于组件玻璃中的吸收),但当光线穿过诸如硅之类的半导体时,吸收可以等同于电子-空穴对的光生,因此强度降低可以被视为增益。
-
对每条光线重复步骤2–4,直到
- 光线通过反射到天空从系统中丢失;
- 光线的强度降低到阈值以下(默认为0.01%);或
- 光线已与界面的最大允许数量相交(默认为1000)。
-
在光线追踪过程中,记录场景中每个组件的太阳能电池内的任何吸收。这作为波长的函数存储在正面和背面吸收的两个单独列表中。
-
对所需的总光线数(由输入”每太阳角光线数”指定的值)所需的尽可能多的光线包重复步骤1–6。对总增益和损失进行平均并发送到用户界面。
-
对求解请求的能量产量期间所需的尽可能多的太阳角重复整个过程。
系统级的光线追踪发生在由单元系统定义的盒子内(见第7节)。光线总是在盒子的顶部生成。任何撞击单元系统侧壁的光线保持相同的方向和强度,但其位置被平移到单元系统的对边界。这具有模拟由单元系统块组成的”无限场”的效果。这在图中表示为幽灵组件。图像仅显示有限数量的行和幽灵组件,但在模拟中这将延伸到无穷大。与盒子底部相交的光线被认为已击中地面。此时,它们根据反照率的定义被反射、吸收、散射。与盒子顶部相交的光线丢失到天空。
单元系统的示例(显示为线框盒)。请注意,场景中的组件可能从正面或背面吸收光。因此,对于双面面板,光到正面和背面的转置从光线追踪的角度以相同的方式处理,并在同一场景内同时求解(即正面和背面吸收没有使用单独的解决方案)。注意,组件定义可能对正面和背面应用不同的表面光学(例如,正面玻璃可能具有抗反射涂层,而背面没有)。如算法步骤6所述,正面和背面波长相关吸收记录在单独的列表中。这允许电气求解器根据辐照度的来源应用不同的响应(例如,对于正面吸收,面板的量子效率可能更高)。
在年产量模拟期间,根据全年太阳的所有可能位置将天空分为多个太阳位置。然后,SunSolve光线追踪所有这些太阳位置以计算系统的光学行为,并适当地组合这些位置以求解一年中每小时的系统光学。例如,如果在某个小时,太阳位于位置(θ, φ) = (46°, 128°),我们然后找到最接近该点的三个位置的光线追踪解决方案,可能是(45°, 120°)、(48°, 130°)和(50°, 125°)。我们采用这三个解决方案并执行2D线性插值以估计所需位置(46°, 128°)处的系统光学。
要求解的太阳位置的选择由两个输入定义,第一个是穿过天空的路径数(弧数),第二个是在该路径上求解的点数(每弧点数)。有必要优化这些输入以在不需要不切实际的计算时间的情况下最小化误差。主要误差来源是当太阳在天空中很低时,最近的点具有不同程度的直射光的行间阴影。这个问题在固定系统中比单轴跟踪器(SAT)中更明显;SAT采用回溯,可以防止直射光的行间阴影。
每太阳角光线数
Section titled “每太阳角光线数”每个太阳角用由”每太阳角光线数”输入确定的离散数量的光线求解。此值可以直接输入,或根据下面的方程自动设置:
较大数量的光线导致更高的模拟精度,但求解时间更长。如果值太大,并且导致求解时间需要超过15分钟,则模拟将失败。运行太少的光线导致电池内吸收分布相对于其他电池和周围环境的误差更大。
有关光线计数如何影响组件输出的更多详细信息,请参阅随机误差页面。
每包光线数*
Section titled “每包光线数*”在光线追踪期间,总光线数(每太阳角最大光线数)被分成较小的组(包)以进行求解。这由”每包光线数”定义。在SunSolve Yield中,此值自动设置为50,000。
值的选择是性能1、准确性2和服务器端硬件限制之间的权衡。基于单独包的聚合还能够计算结果的标准差,可用作指示所需收敛水平的指标。