树下热舒适为何飘红,Windows 11 为何拦截采光模拟?
11 月上旬,Ladybug Tools 论坛出现了两则排障讨论。一则是室外热舒适云图在树冠正下方算出了比阳光直射区还高的红色热斑,另一则是升级 Windows 11 后年度采光模拟被系统安全策略直接拦停。核心开发者在帖中的回复说明了 Honeybee 多引擎耦合的材质分工与 Windows 二进制签名机制。
树冠下出现异常高温红斑的原因
11 月 6 日,用户 ec 在论坛发帖求助。他调用官方示例文件 Outdoor Comfort Under a Tree 对比有树和无树两种工况时,结果云图里树冠正下方反而出现了一片代表高热应力的红色斑块,比周围无遮挡区域的温度还要高。为了排查问题,他尝试修改树冠的 Radiance Modifier(光学修饰符),但无论怎么修改,热舒适云图都没有变化。
帖子发出后,社区成员 Trevor 先给了一个几何层面的排查方向。在官方的入射辐射示例中,用于生成测试网格的几何体在与周边环境几何(Context Geometry)相交处留有开口;如果建模时把这一位置做成了闭合体,贴近表面处的辐射统计就会出现异常。
11 月 7 日,核心开发者 Chris Mackey 回复指出,Radiance Modifier 对热舒适映射配方(thermal mapping recipes)不起作用。想要在热映射中调整遮阳构件的太阳反射率,需要使用 HB-Energy shade construction;想要调整树冠的透光率,则需要挂载 HB-Energy transmittance schedule(透射率时间表)。
在 Honeybee 热舒适映射工作流里,Radiance 只负责计算短波太阳辐射路径与天空和表面角系数,而树冠、墙面和地面的表面温度由 EnergyPlus 计算,表面的热容、导热、长波发射率和太阳吸收率均由 EnergyPlus 控制。如果只给树冠贴了 Radiance 光学修饰符,却没有配置 HB-Energy 遮阳构造与透射率时间表,EnergyPlus 就会把这片树冠当成默认的实心不透明遮阳板来计算表面温度。树冠模型被晒热后向下发射长波辐射,叠加冠层下风速折减,测试点算出的平均辐射温度(MRT)和热应力就会偏高。
排查树冠或室外遮阳构件的异常热斑时,凡是串联采光与室外热舒适分析的模型,树冠和遮阳构件在接入 Radiance Modifier 的同时,还需要接入 HB-Energy shade construction 设定反射率,并接入 HB-Energy transmittance schedule 按叶面积密度或冠层孔隙率设定透射率(例如 0.2—0.3 的常值时间表)。修改 HB-Energy 遮阳属性后,固定同一气象文件和计算时段重新运行无树与有树对比算例,即可验证红斑是否由默认遮阳热工参数引起。

Windows 11 智能应用控制拦截采光模拟
11 月 3 日,用户 huangliwen6636 反馈,在一台全新的 Windows 11 工作站上用 Rhino 8、Grasshopper 和 Ladybug Tools 1.10.0 为一栋 600 m² 办公楼运行年度采光模拟(HB Annual Daylight)时,组件报错中断。Windows 事件查看器记录了 Code Integrity 事件 ID 3077,提示程序因违反 VerifiedAndReputableDesktop 策略被拦截。
该用户随后核对了报错涉及的四个可执行文件的 Authenticode 数字签名状态。除了 python.exe 显示为有效签名(Valid)外,honeybee-radiance.exe、rtrace.exe 和 gendaymtx.exe 全部显示为未签名(NotSigned)。
拦下这些程序的是 Windows 11 的智能应用控制(Smart App Control,SAC)。SAC 先通过云端信誉服务评估可执行文件,若云端无足够信誉记录放行,则回退检查受信任根证书颁发机构(CA)签发的数字签名。既无云端信誉背书、又无有效数字签名的 .exe 或 .dll 会被直接阻断,且 SAC 不提供针对单个程序或文件夹的白名单设置。
11 月 4 日,Ladybug Tools 创始人 Mostapha 在帖中回应,确认团队近期已收到多起同类反馈。报错清单里只有 honeybee-radiance.exe 由 LBT 团队打包生成,而核心计算程序 rtrace.exe、gendaymtx.exe 属于外部开源的 Radiance 发行版,LBT 团队无权直接替第三方上游编译的二进制文件做官方代码签名。Mostapha 表示接下来会联系 Radiance 核心作者 Greg Ward,商讨从上游发行版引入代码签名的方案。
在上游解决签名问题之前,开启了 SAC 的 Windows 11 设备如果遇到同样报错,主要有三种处理方式。对主机安全策略有严格要求的工作站,可以在未开启 SAC 的虚拟机环境中部署 Rhino 与 Ladybug Tools。社区成员 Trevor 也提供了本机自签名测试方案,即使用 PowerShell 的 New-SelfSignedCertificate 创建本地代码签名证书,再用 Set-AuthenticodeSignature 为本地 Radiance 可执行文件签名,但该方法属于社区测试方案,能否通过具体设备的 SAC 策略需要逐机验证。此外,用户还可以在“Windows 安全中心 → 应用和浏览器控制 → 智能应用控制设置”中将其关闭,直接放行 Radiance 和各类开源命令行工具;按微软的规则,SAC 一旦手动关闭,除非重置或重装系统,否则无法再次开启。

来源:Ladybug Tools 论坛:Outdoor comfort under a tree(t/40909);Ladybug Tools 论坛:Windows 11 Smart App Control blocks unsigned Honeybee Radiance executables(t/40902);Microsoft:Smart App Control 官方说明。
