ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Lighttools光学仿真入门:光度学概念与系统初始设置详解

Lighttools光学仿真入门:光度学概念与系统初始设置详解 做光学仿真的人十个里有八个第一次打开Lighttools都会懵一会儿。界面看着不复杂但真要把一个照明系统从零搭起来、跑出能用的结果中间全是细节。我断断续续用过8.4.0一年多从最开始照猫画虎点按钮到后来能自己搭一个完整的光路并收敛到合理结果中间踩了不少坑。这篇学习体会就围绕三个主题展开软件基本使用、光度学基本概念、系统初始设置。这三样东西正好对应了用什么工具、看什么指标、怎么把环境配对三个层次也是新手最容易卡住的三个地方。1. 为什么照明仿真绕不开Lighttools软件定位与适用场景1.1 它的核心优势不是画得好看而是追迹逻辑先把这个软件到底擅长干嘛说清楚。Lighttools本质上是基于蒙特卡洛光线追迹的3D光学工程软件它不擅长做成像优化——那是Zemax或Code V的活。它真正擅长的是非成像光学设计LED照明、背光模组、导光板网点、汽车灯具、路灯透镜、杂散光分析这类光怎么走、走到哪里、均匀不均匀、效率多高的问题。我刚接触的时候犯过一个方向性错误总想用Lighttools去模拟一个准直镜的成像质量折腾了半天弄出来的光斑和理论值差很多后来才明白这个软件的逻辑是大量光线随机抽样、逐条追迹、统计结果它给你的是光的分布和能量统计不是波前和像差。想清楚这一点之后很多操作就顺了。类似地如果你要分析的是一个反光杯的配光曲线是否满足法规要求或者一片扩散板能不能把LED的点光源变成均匀面光源这才是Lighttools的正确打开方式。1.2 从头搭一个简单仿真的完整链路是什么样先把整条工作流理清后面每个环节再细拆。一个最简单的照明仿真通常是这样串起来的在三维建模环境中建立几何体透镜、反射器、导光板等或者从SolidWorks/Creo/STEP文件导入给几何体赋予光学属性材料折射率、表面反射率/透过率/散射特性设置光源可以是点光源、面光源、文件光源也可以用高斯分布或格点光源在需要检测结果的位置放置接收面照度接收面、强度接收面、亮度接收面等设置光线数量和追迹参数运行仿真查看结果比如照度分布图、配光曲线、光通量效率然后迭代优化我在最开始的时候总喜欢直接把所有东西一股脑装上去结果跑出来一堆花花绿绿的图却不知道问题出在哪。后来我养成一个习惯每加一个光学元件就单独跑一次拿掉一片透镜看看光斑怎么变加上一片反射器再看看效率怎么变。这种增量式调试的方法在Lighttools里特别有效因为它不像成像软件那样有个明确的对焦动作很多时候结果是否合理要靠你自己判断而分步调试就是最可靠的判断依据。2. 光度学概念先把坎德拉、勒克斯、流明、尼特理顺2.1 为什么非得学这堆旧单位人眼是第一个传感器搞光学的都知道辐射度学量瓦特、瓦每球面度等才是物理本质但Lighttools界面上默认显示的往往是光度学单位——流明(lm)、勒克斯(lx)、坎德拉(cd)、尼特(cd/m²)。原因很简单照明最终是给人看的所以要用按人眼视见函数加权过的量来评价。这里有个关键点很多人没注意到光度学量是辐射度学量经过人眼的光谱响应加权积分后得到的。换句话说同样是1瓦的辐射功率如果波长为555nm人眼最敏感的绿光光通量大约是683流明如果波长跑到红外波段光通量直接趋近于0。所以在Lighttools里做可见光照明仿真第一步就是把波长设对否则你得到的所有流明值、勒克斯值都是错的。这跟做红外光学仿真用的单位完全不同别搞混。2.2 四个核心量用大白话怎么理解这四个量的定义式在教科书上都写得清清楚楚但新手最容易的是背了定义遇到实际图不知道该看哪个。我按自己理解给它们排了个序光通量lm是源头给的总光能量流量好比水龙头流出的总水量发光强度cd是某个方向上单位立体角内的光通量密度好比水龙头朝向某个方向喷水的集中程度照度lx是接收面上单位面积分到的光通量好比地板上被水泼到的深浅亮度cd/m²则是从某个方向看过去、单位投影面积上的发光强度好比从侧面看一面被水淋湿的墙墙面本身不是光源但看起来亮不亮。实际用Lighttools的时候这几个量对应的接收面完全不一样。你要看路灯对地面的照明效果就看照度图单位是lx你要看一个灯具的空间配光是否对称就看强度图配光曲线单位是cd你要看背光模组的屏幕是否均匀通常更关心亮度图单位是cd/m²。一个典型的错误是想看配光曲线结果放了一个照度接收面跑完发现是个圆形光斑图完全不是想要的东西改了接收面类型之后才发现哦这里该用强度接收面。2.3 仿真结果里单位换算和数量级的直觉Lighttools里默认长度单位往往是毫米所以做照度计算时要注意1 lx 1 lm/m²但如果你的模型尺寸是毫米级别接收面上收集的光通量除以面积时面积单位要换算成平方米这里很容易差出10⁶的数量级。我分享一个自己常用的数量级直觉家里客厅的一般照明桌面照度大约在100-300 lx办公阅读需要的照度大约在300-500 lx路灯下的地面照度通常只有10-50 lx直视太阳的亮度大约是10⁹ cd/m²量级而一盏普通LED灯的发光强度可能是几十坎德拉如果仿真出来一个室内照明场景桌面照度是几万勒克斯那不用问肯定是哪里单位或者缩放出了问题大概率是面积单位或者光源光通量设置不合理。这种数量级校验的习惯能帮你排除90%的低级错误比反复检查参数快得多。3. 软件基本使用从界面认识到第一个仿真跑通3.1 8.4.0的界面布局和常用视图操作Lighttools 8.4.0的界面主区域是三维建模窗口左侧是系统导航树显示光源、几何体、接收面、光学属性等对象核心操作集中在顶部的标签页式功能区里每个标签页对应一类任务比如创建几何体、设置光源、运行仿真等。第一次打开软件的人最容易迷失的是到底从哪里开始建模型。我的建议是先别急着画几何体在导航树里明确三样东西——光源、几何体、接收面这是仿真的三要素。然后按顺序来先加一个光源哪怕是默认的点光源再建一个接收面先跑通一个光从光源出发打到一个平面上的最简模型确认结果有光斑了再往里加透镜、反射器等光学元件。这个流程能让你迅速建立对软件工作方式的感觉哪些操作会改变光线路径哪些操作只影响统计显示。3.2 建立几何体并赋予光学属性建立几何体有两种途径手动画和外部导入。手动画适合简单的形状比如用一个圆柱体加一个球面做透镜或者用旋转体创建反光杯导入适合复杂结构一般通过STEP、IGES等格式导入。在Lighttools中几何体本身只是个形状壳要让光线跟它发生作用必须给它赋予光学属性。光学属性分两大类材料属性和表面属性。材料属性决定光线在体积内部怎么传播折射、吸收表面属性决定光线在表面怎么折反射。以最常见的透镜为例需要设置材料为某种玻璃或PC材料折射率1.5左右表面设置为光滑透射面如果做的是扩散板就要把透射表面设置成散射属性并指定散射模型比如朗伯散射或高斯散射和散射参数。我经历过的一个教训是刚用的时候把透镜的材料属性设置好了但忘了给表面指定透过属性结果光线打到透镜表面直接全被反射走了接收面上黑漆漆一片。查了半天才发现表面属性的默认值有时候不是全透射尤其当你从CAD导入模型并批量赋予属性时一定要检查每个表面是否都给了正确的光学属性。3.3 添加光源、接收面和执行追迹光源的类型很丰富点光源、表面光源面发光、格点光源、文件光源用实测配光数据文件定义、平行光源等。对于LED照明仿真通常用表面光源配上朗伯发射模式或者直接导入IES/LDT文件作为文件光源这样最贴近实际。对于激光或高斯光束则用特定的高斯分布光源后面专门讲。接收面的选择也要对应目标量想看照度分布选照度接收面想看配光曲线选强度接收面想看屏幕亮度选亮度接收面。接收面可以设置尺寸和采样网格数网格数越多分辨率越高但计算量也越大。完成配置后点击运行仿真软件会按照你设定的光线数量随机抽样并逐条追迹。追迹完成后可以在导航树里双击对应的接收面查看照度图、强度图等结果。第一次跑通时你会看到色彩变化的分布图这时候别忘了查看图例的最大值、最小值确认数量级是否合理。4. 系统初始设置这些基础配置不做好后面全白干4.1 单位、波长和全局属性的初始化Lighttools新建项目时不会自动帮你把所有东西都设置好但有几个全局配置必须在动手前就确认因为它们会影响从几何尺寸到光度结果的整个链路。第一个是单位制。默认通常是毫米、克、秒。如果你的模型是从CAD导入的导入时一定要核对单位否则会出现一个本该是100mm长的透镜导入后变成100m这种灾难。单位错误导致的结果不仅仅是尺寸显示不对还会让照度值、亮度值差出天文数字般的数量级。第二个是波长。在做可见光照明仿真时至少要设置一个主波长通常是550nm绿光。如果做的是白光LED仿真应该设置多个波长并分配各自的功率权重或者直接使用软件自带的LED光谱文件。只设一个波长虽然跑得快但得到的光通量、色度结果会偏离实际情况。第三个是全局追迹选项。这里主要涉及光线分裂、散射次数上限、能量阈值等参数。新手阶段建议保持默认但要知道如果仿真结果出现明显的能量丢失光源发出去100流明接收面加起来只有50流明可能是追迹阈值设置过严或者有光学表面没有正确参与追迹。4.2 光线数量的选择越多越好那是你以为在蒙特卡洛光线追迹中光线数量直接决定了结果的统计噪声。光线太少照度图会像撒了一把芝麻一样坑坑洼洼光线太多仿真时间成倍上涨。我自己的经验是先用5000-10000条光线粗跑一遍确认光路和分布大致合理再加大到5万-10万条光线做精细计算。如果你追求高精度结果可以跑到50万条甚至更多但时间代价也非常大。这里有一个理论依据蒙特卡洛仿真的噪声与光线数量的平方根成反比。也就是说想将结果噪声降低一半光线数量要增加到原来的四倍。理解了这一点你就能理性安排工作量而不是盲目地拉满。通常看一条曲线的稳定程度也能判断是否收敛当你把光线数量翻倍关键点的照度值变化小于3%-5%时基本可以认为收敛了。4.3 材料库与表面属性的预配置另一个容易被忽略但极其重要的初始配置是材料库和表面属性库。Lighttools自带了很多常用光学塑料PMMA、PC、玻璃BK7等数据但每个项目开始之前你应该确认自己用的材料是否有对应的折射率数据。比如做LED透镜时很多光学级硅胶的折射率在1.4-1.5之间玻璃的折射率在1.5-1.9之间如果你选了默认空气折射率1那透镜根本不会对光线产生偏折。表面属性方面我建议把常用的几种表面属性提前建好全反射镜面、透射面、朗伯漫反射面、朗伯漫透射面、高斯散射面等。这样在建模型时直接拖拽赋值效率高很多也避免了每次手动输入参数的麻烦和出错概率。5. 高斯分布光源被问得最多的设置之一5.1 高斯分布在Lighttools里的两种常见含义高斯分布在Lighttools里有两种常见用途新手特别容易混淆一种是空间上的高斯光束分布即光束截面内能量沿径向呈高斯分布中心最亮往边缘衰减典型应用是模拟激光光源另一种是角度上的高斯分布指发射方向在某个出射角附近呈高斯分布典型应用是模拟某些带透镜的LED光源的角度配光。怎么区分你要哪种看光源发光面的尺寸和发散特性。激光器出来的光通常是细光束发光面极小能量分布接近高斯光束这时用空间高斯分布LED光源经过透镜准直后出光角度有一定分布发光面有一定大小用角度高斯分布更合理。选错会导致你仿真的光斑形态完全对不上实测。5.2 设置步骤以角度高斯分布为例在Lighttools中添加光源时选择光源类型为表面光源或格点光源然后在发射分布选项里选择高斯分布。关键参数通常是中心角度即光线的平均出射角通常为零度沿表面法线发射和半角宽度即高斯分布的标准差或者FWHM。我以设置一个FWHM为20度的朗伯近似高斯光源为例说明在光源属性编辑器中把发射模式切换为高斯中心角度设为零半角宽度参数先按经验填10度左右然后跑一版看看配光曲线再根据和目标的差距调整实际项目中如果你想精确模拟某款LED最稳妥的做法是找到供应商提供的配光数据文件IES或LDT格式直接使用文件光源。高斯分布只适合做前期快速验证或者当你要研究透镜对原始高斯分布的整形效果时使用这时用空间高斯光束定义更合适。设置空间高斯分布时需要指定束腰半径beam waist或者在某个位置的光束直径以及高斯阶数。阶数越高边缘衰减越陡峭实际激光器通常是基模高斯阶数为2。5.3 跑高斯光源时最容易忽略的接收面设置高斯光源仿真跑出来光斑是高斯形状但这个形状要在接收面上正确显示接收面的采样网格必须足够细。如果网格太粗光斑中心峰值会被平均掉看起来就是平的你以为光源设置错了其实只是分辨率不够。我一般会把接收面网格数设置到100x100以上再配合平滑显示功能来观察高斯光斑的中心峰值和光斑直径。另一个坑是坐标对齐高斯光束通常是沿某个特定方向传播的如果你的接收面没有与光束传播方向垂直显示出来的光斑会被拉长或压缩并不是真正的截面分布。我习惯把接收面法线方向设置为与光束传播方向严格平行然后查看截面照度分布曲线这样最能判断高斯轮廓是否对称。6. 导出结果与复现分析从软件到报告6.1 结果导出的几种方式和适用场景很多人在Lighttools里跑完结果想在PPT或报告里用图但发现软件自带的截图效果不太理想。Lighttools支持多种数据导出方式文本格式数据导出把照度图的网格数据导出为文本文件方便用Python或Excel二次绘图、图片导出直接保存接收面显示的结果图、以及IES/LDT配光文件导出把强度分布结果导出为照明行业的标准文件格式。对于写报告或做对比分析我推荐导出文本数据再自己绘图。理由有二一是软件内置的配色方案打印出来往往不如Matplotlib或Excel清晰二是你可以在外部把多组结果画到同一张图里做对比。比如做透镜优化时我会把优化前后两组照度曲线都导出来放到同一坐标系里一眼就能看出均匀度的改善程度。6.2 导出IES文件验证配光曲线高强度接收面分析完成后Lighttools可以直接导出IES格式的配光数据文件。这个功能在灯具设计时非常实用你设计的反光杯或透镜配光是否满足路灯或车灯的法规要求可以用软件导出的IES文件放入专业的配光分析软件或Excel模板里做合规判定。但要注意一点IES文件导出的坐标系和角度分辨率需要在导出前设置好通常选择C-γ坐标系常见的灯具配光标准角度间隔常用的有0.5度或1度。如果你发现导出的IES文件导入其他软件后配光形状变了优先检查角度间隔设置和坐标系类型是否匹配。6.3 结果复现性记录参数否则明天就忘Lighttools的一个痛点是项目文件里不会自动记录你每一条重要的操作历史和参数选择。过一两周回来看经常会疑惑当时这个高斯半角到底填的是多少度、光线数量是5万还是10万。好习惯是每个方案都建立一个独立的记录文档把关键参数光源类型、流明数、波长、光线数量、接收面尺寸、表面散射参数、高斯分布参数都记录下来再把结果截图和数据文件归档到对应目录。我甚至建议在积累了足够多的方案之后建一个标准参数模板文件——把你最常用的一类仿真的所有初始设置单位、波长、材料、表面属性、接收面类型预先配置好每次新项目直接从这个模板另存既保证设置一致也大大减少重复劳动。这个习惯帮我节省了大量时间也减少了这次改了什么导致结果变化的排查难度。7. 实测中遇到的三个典型问题与排查思路7.1 照度图千疮百孔噪声很大这是光线数量不足的典型症状。我的处理是先看整体趋势如果分布形状对只是局部起伏明显那就把光线数量翻倍再跑。如果翻倍之后噪声依旧明显则可能是接收面网格数设得太高网格细分到了没什么光线落到单个格子的程度这时应该适当降低网格数或增加光线数量。另外要注意Lighttools里有一种随机种子的概念。如果两次仿真的结果在某些细节点上不一样这是正常的——因为蒙特卡洛方法每一次抽样都是随机的。评判收敛时不要盯着最高点或边缘的个别格子看要看整体分布和关键区域的平均值。7.2 材料折射率明明设置了光线却不偏折这个现象通常有三个原因一是该几何体在导航树中没有被参与光线追迹需要检查光迹是否开启或对象是否被隐藏排除二是表面属性与材料属性没有正确关联比如光线入射到了漫反射表面而你没有意识到三是波长对应的折射率数据缺失。排查思路是在几何体上右键查看属性确认材料有效、表面属性正确、追迹选项打开用少量光线追迹并打开光线路径显示看光线究竟在哪个表面发生了什么样的变化很快就能定位。7.3 光源总光通量和接收面能量对不上如果你设置了一个1000流明的朗伯光源而所有接收面加起来只接收到700流明不要立刻怀疑是仿真错误。先检查是否有光线逃逸出去了从模型开口出射、或者没有打到任何接收面上再看材料吸收是否设置过高最后看追迹能量阈值是否把弱光线直接丢弃了。照明系统的总透过率或光学效率本来就是接收到的光通量除以光源光通量在Lighttools里这个比值是衡量透镜或反光杯设计的重要指标所以对不上很可能不是bug而恰恰是你需要关注的优化目标。就我个人经验而言刚开始用Lighttools时最容易上头的事情是逮着一个参数猛调然后看结果好像变好了就收工。真正稳定的工作流应该是先花15分钟把单位、波长、光线数量、材料库这些初始设置确认好再花10分钟跑一个基准模型然后每次只改一个变量记录对应的结果变化。这个过程听起来慢但恰恰是最省时间的路。上面这些坑我几乎全都踩过——特别是单位换算和表面属性漏设这两个每次都折腾很久希望这篇学习体会能帮你绕过去。
返回列表