第2章 光源系统:点光源、面光源、平行光、高斯光束

光源,说白了就是仿真世界的「起点」。没有光,哪来的分析?

我在FRED里摸爬滚打这些年,见过太多人一上来就怼复杂系统,结果光源参数设错了,后面全白干。今天咱们就把这四种最常用的光源吃透。

2.1 点光源:最简单的起点

点光源,顾名思义,就是一个点向四面八方发光。理想情况下,它没有大小,只有位置。

核心参数:

  • 位置 (Position):三维坐标 (X, Y, Z)
  • 发光角度 (Angular Distribution):朗伯体、均匀分布、自定义
  • 光线数量 (Number of Rays):决定仿真精度和速度

我记得刚入行时,做LED封装仿真。我把LED当点光源处理,结果远场光斑怎么都对不上实测数据。后来才意识到——LED芯片是有尺寸的,近场必须用面光源。

我的习惯:做概念验证或系统级仿真时,先用点光源跑通光路。等确认了光路逻辑,再换成更精确的光源模型。这样能省不少调试时间。

2.2 面光源:更接近真实世界

面光源比点光源多了一个维度——面积。它可以是矩形、圆形、环形,甚至任意多边形。

你想想看,手机屏幕、汽车尾灯、投影仪DMD芯片……这些都不是点,而是面。

参数 说明 我踩过的坑
发光面形状 矩形、圆形、椭圆、自定义多边形 别用矩形近似圆形LED,误差能到15%
发光方向 法向、锥角、自定义角度分布 朗伯体是最常用的近似
光线采样模式 均匀、随机、重要性采样 均匀采样在边缘处容易漏光
光线数量 建议 10万~100万 条 太少有噪声,太多跑不动

曾经有一次,我帮客户做背光模组仿真。他设了1000条光线就跑,说「结果看起来还行」。结果一实测,均匀度差了20%。后来我把光线数提到50万,结果才收敛。记住:面光源的光线数,至少要比点光源多一个数量级。

2.3 平行光:模拟无穷远

平行光,就是所有光线都朝一个方向走。太阳光、准直激光束,都是平行光的典型代表。

FRED里设置平行光,核心就两个参数:

  • 方向向量 (Direction Vector):比如 (0, 0, 1) 表示沿Z轴正方向
  • 光束直径 (Beam Diameter):决定照射范围

嗯,这里要注意——平行光在FRED里其实是一个「虚拟面光源」,只不过所有光线方向一致。所以它也有面光源的那些参数,只是发光角度被锁死了。

实用技巧:做太阳能聚光器仿真时,我习惯用平行光模拟太阳。但太阳不是严格平行光——它有0.53°的张角。如果你做高精度分析,记得在FRED里给平行光加一个微小发散角。

2.4 高斯光束:激光仿真的灵魂

高斯光束是激光器输出的标准模型。它和前面三种光源有本质区别——它的光强分布是高斯函数,而且光束会随着传播而发散。

说白了,高斯光束有「腰」的概念。腰越细,发散角越大。

参数 含义 典型值
波长 λ 激光中心波长 532 nm, 1064 nm
束腰半径 ω₀ 光束最细处的半径 0.5 mm ~ 5 mm
束腰位置 腰所在Z坐标 通常在激光器输出端
M² 因子 光束质量,理想值为1 1.0 ~ 1.5
光线数量 建议 5万~20万 太少无法体现高斯分布

我的经验:做激光加工仿真时,M²因子千万别设成1.0。实际激光器很少有完美的TEM₀₀模。我一般设1.1~1.3,结果和实测吻合度好很多。

2.5 波长与功率设定

光源的「颜色」和「亮度」,就是波长和功率。

波长设定:

  • 单波长:激光器、LED单色光
  • 多波长:白光LED、汞灯、太阳光
  • 波长单位:FRED默认用纳米 (nm)

功率设定:

  • 总功率 (Total Power):单位瓦特 (W)
  • 辐照度 (Irradiance):单位 W/m²
  • 光通量 (Luminous Flux):单位流明 (lm),用于可见光

曾经有个坑:我帮客户做投影光学设计,他设了1W的LED光源,结果仿真亮度高得离谱。后来发现——他把电功率当成了光功率。LED的光电转换效率通常只有20%~30%。记得换算!

2.6 四种光源对比总结

光源类型 适用场景 精度 计算量 我推荐的光线数
点光源 概念验证、远场近似 低 低 1万~5万
面光源 LED、显示屏、灯具 中 中 10万~100万
平行光 太阳模拟、准直系统 高 低 1万~10万
高斯光束 激光系统、光纤耦合 高 中 5万~20万
FRED 光源系统知识结构图 FRED 光源系统 点光源 面光源 平行光 高斯光束 波长与功率 选择光源的黄金法则 先定场景 → 再选类型 → 最后调参数 概念验证用点光源,高精度用面光源或高斯光束

四种光源各有各的脾气。选对了,仿真事半功倍;选错了,后面全白干。

我个人建议:刚开始学FRED时,把每种光源都跑一遍,看看它们的光线分布有什么不同。亲手调一次参数,比看十遍教程都管用。