COMSOL热传导仿真避坑指南:从能跑通到敢信结果
简介这份资源围绕COMSOL求解热传导方程展开面向正在学习多物理场仿真、PDE建模或传热学课程的高校学生与工程技术人员帮助其掌握一维固体瞬态热传导的完整建模流程。资源包内共1个docx文档约45KB以图文步骤形式记录操作要点便于对照软件界面逐步复现。内容涵盖添加一维固体传热物理场、设置瞬态研究、几何区间0至14、导热系数与密度及恒压热容均取1、初始温度300K、左右边界分别施加1000K与300K温度约束以及网格划分、时间步range(0,0.01,1)计算并导出data.txt再用Matlab后处理。读者可借此理解热传导方程ρcp∂T/∂tk∂²T/∂x²的离散求解思路获得可直接参考的建模参数与后处理脚本框架。目前已有3676人学习下载适合作为入门练习与排错对照材料。1. 用 COMSOL 解热传导方程从“能跑通”到“敢信结果”的分水岭很多人第一次在 COMSOL 里点下“研究-计算”按钮时看到温度场云图红蓝渐变就以为热传导方程已经解完了。但真正做过散热设计、激光加热、电池热管理或者芯片封装热分析的人都知道能跑出云图只是起点敢把结果拿去做设计决策才是终点。COMSOL 解热传导方程的核心是把偏微分方程、边界条件和材料参数三者对齐让数值解在网格无关性和能量守恒上都站得住脚。这篇文章面向的是已经装好 COMSOL、想系统掌握热传导仿真落地路径的工程师和研究生。我会从方程形式讲起说清 COMSOL 里“固体传热”和“共轭传热”接口的选型逻辑然后给出一套可复现的稳态/瞬态设置流程包括材料参数怎么填、边界条件怎么选、网格怎么划、求解器怎么调。中间会专门用一章讲我踩过的坑比如为什么你的热流边界加不上去、为什么瞬态结果出现非物理振荡、为什么表面对环境辐射一开就报错。最后落到一个具体技巧怎么用派生值快速验证能量守恒避免“云图好看但结果全错”的翻车。如果你正在做热设计但不确定仿真结果能不能信或者刚接触 COMSOL 传热模块想少走弯路这篇笔记就是按这个目标写的。2. 热传导方程在 COMSOL 里到底长什么样从 PDE 到接口的映射2.1 热传导方程的标准形式与 COMSOL 的符号约定热传导方程的本质是能量守恒微元体内能变化率等于净流入热流加上内热源。三维瞬态形式写成ρ·Cp·∂T/∂t ∇·q Q其中 q -k·∇T所以展开后就是常见的 ρ·Cp·∂T/∂t ∇·(k∇T) Q。稳态时左边时间项消失变成 ∇·(k∇T) Q 0。COMSOL 的“固体传热”接口默认求解的就是这个形式但它内部用的是弱形式边界条件通过通量项自然引入。你不需要手动写弱形式但必须理解每个边界条件在方程里对应什么。比如“热通量”边界条件对应 q·n q0而“对流热通量”对应 q·n h·(T_ext - T)。如果边界上同时加了两个热通量条件COMSOL 会默认叠加这往往不是你想要的结果。材料参数方面k 是导热系数单位 W/(m·K)ρ 是密度kg/m³Cp 是恒压热容J/(kg·K)。这三个参数在 COMSOL 材料库里有大量预置但预置值不一定适合你的工况。比如铜的导热系数在 300K 附近约 400 W/(m·K)但如果你做的是薄膜或纳米结构块体值可能偏差很大。我一般会先查文献确认参数范围再决定用常数还是温度相关表达式。2.2 固体传热、共轭传热、辐射接口的选型逻辑COMSOL 传热模块提供多个接口新手最容易选错。选型逻辑其实很简单看你的问题里有没有流体流动。如果只有固体且不需要计算流体速度场直接用“固体传热”Heat Transfer in Solids。这是最轻量的接口求解变量只有温度 T计算量最小。如果固体周围有流体且流体流动由自然对流或强制对流驱动你需要“共轭传热”Conjugate Heat Transfer。这个接口同时求解 Navier-Stokes 方程和能量方程变量包括速度 u、压力 p 和温度 T。计算量比纯固体大一个量级但能捕捉流固耦合换热。如果问题里辐射占主导比如高温炉、真空环境或者透明介质需要加“表面对表面辐射”Surface-to-Surface Radiation。这个接口不单独使用而是作为边界条件叠加在固体传热或共轭传热上。注意辐射计算对网格要求很高尤其是角系数计算网格太粗会导致辐射热流严重失真。一个常见误区是明明只有固体导热却选了共轭传热结果多算了流体方程收敛慢还容易发散。我一般会先问自己流体流动对温度场的影响是否超过 5%如果不超过直接忽略流体用等效对流换热系数代替。2.3 稳态与瞬态的选择依据及求解器默认设置稳态求解假设温度不随时间变化适合连续工作且已经达到热平衡的工况。瞬态求解适合加热、冷却、脉冲热源等过程。COMSOL 默认的稳态求解器是“分离式”还是“全耦合”取决于问题非线性程度。如果材料参数是常数、边界条件线性默认的“直接”求解器如 MUMPS通常能一次收敛。如果材料参数随温度变化或者有辐射边界建议手动切换到“全耦合”求解器并适当降低阻尼。瞬态求解器默认用“广义 alpha”方法时间步长由 COMSOL 自动控制。但自动步长不一定适合你的物理过程。比如激光加热的脉冲宽度是纳秒级而你想看毫秒级的温度演化自动步长可能会跳过关键阶段。我一般会手动设置最大时间步长比如脉冲宽度的 1/10并打开“严格时间步进”确保不跳过任何输出时间点。提示瞬态求解前先跑一个稳态求解作为初始条件能显著减少瞬态初期的非物理振荡。3. 从零搭建一个可复现的热传导仿真几何、材料、边界、网格、求解3.1 几何建模与材料参数填入的实操步骤假设我们要模拟一个 100mm × 100mm × 5mm 的铝板中心有一个 10mm × 10mm 的芯片热源功率 5W底面用对流换热冷却对流系数 20 W/(m²·K)环境温度 25°C。目标是求稳态温度分布。第一步打开 COMSOL新建“三维”模型选择“传热”“固体传热ht”。在几何节点下用“块”创建铝板尺寸 0.1m × 0.1m × 0.005m。再用“块”创建芯片尺寸 0.01m × 0.01m × 0.001m位置放在铝板中心上表面。用“并集”把两个块合并形成单一计算域。第二步材料赋值。在“材料”节点下右键添加“材料”从内置库选“Aluminum”。但注意内置铝的导热系数是 237 W/(m·K)这是纯铝退火态的值。如果你用的是铝合金比如 6061导热系数约 167 W/(m·K)。我一般会手动覆盖在材料属性里把导热系数改成 167密度 2700热容 896。芯片区域需要单独赋材料。右键“材料”“更多材料”“空材料”命名为“芯片”手动输入导热系数 150 W/(m·K)密度 2300热容 700。然后在“固体传热”节点下确保“传热模型”选“固体”并检查“材料”子节点是否覆盖了所有域。# 这不是 COMSOL 脚本而是参数整理模板方便你在 COMSOL 里逐项填入 # 铝板参数 k_al 167.0 # W/(m·K) rho_al 2700.0 # kg/m³ Cp_al 896.0 # J/(kg·K) # 芯片参数 k_chip 150.0 rho_chip 2300.0 Cp_chip 700.0 # 热源 P_chip 5.0 # W V_chip 0.01 * 0.01 * 0.001 # m³ Q_chip P_chip / V_chip # W/m³体热源密度 # 对流边界 h_conv 20.0 # W/(m²·K) T_env 25.0 273.15 # K上面这段不是可执行代码而是参数清单。Q_chip 算出来是 5e6 W/m³这个值在 COMSOL 里填“体热源”时直接用。注意单位COMSOL 默认用 SI 单位长度用米温度用开尔文。如果你习惯用毫米和摄氏度记得在全局定义里加单位换算否则热源密度会差 10^9 倍。3.2 边界条件设置热通量、对流、辐射的优先级与冲突排查在“固体传热”节点下默认边界条件是“热绝缘”即 q·n 0。你需要手动添加实际边界。底面右键“固体传热”“对流热通量”选择底面h 填 20T_ext 填 298.15 K。芯片上表面右键“固体传热”“热通量”选择芯片上表面q0 填 0因为热源是体热源不是面热源。如果你把热源加在面上q0 填 P_chip / (0.01*0.01) 50000 W/m²。其余表面保持默认热绝缘或者加一个小对流系数模拟自然对流比如 h5。冲突排查如果你发现某个边界上同时有“热通量”和“对流热通量”COMSOL 会叠加两者。但物理上一个表面不可能同时既接受固定热流又接受对流冷却除非你确实想模拟“热流加热对流散热”的复合边界。我一般会检查边界列表确保每个边界只有一个热边界条件。注意辐射边界和对流边界可以共存但辐射需要先设置“表面对表面辐射”节点并在边界上选“漫反射表面”。如果直接在对流边界上勾选“辐射”COMSOL 会报错因为辐射需要独立的角系数计算。3.3 网格划分策略边界层、热源区加密与网格无关性验证热传导问题的网格要求比结构力学低但热源附近和薄壁区域仍需加密。全局网格用“自由四面体网格”最大单元尺寸设为几何最小特征的 1/5。这里最小特征是芯片厚度 1mm所以最大单元尺寸设 0.2mm。但铝板厚度 5mm如果全局都用 0.2mm单元数会爆炸。所以用“尺寸”节点在芯片区域加“细化”或“极细化”。边界层如果底面有对流建议在底面加“边界层网格”层数 3厚度调节因子 1.2。但纯固体导热其实不需要边界层边界层主要用于流体。所以这里可以跳过。网格无关性验证这是最容易被忽略的一步。我一般会跑三套网格粗最大单元 0.5mm、中0.2mm、细0.1mm比较芯片中心温度。如果中网格和细网格的温差小于 1%就认为网格无关。如果温差大于 5%说明网格太粗需要继续加密。# 网格无关性检查的伪代码逻辑 T_chip_center_coarse run_simulation(mesh_size0.5e-3) T_chip_center_medium run_simulation(mesh_size0.2e-3) T_chip_center_fine run_simulation(mesh_size0.1e-3) error_1 abs(T_chip_center_medium - T_chip_center_coarse) / T_chip_center_coarse error_2 abs(T_chip_center_fine - T_chip_center_medium) / T_chip_center_medium if error_2 0.01: print(网格无关性通过用中网格即可) else: print(需要继续加密网格)这段逻辑在 COMSOL 里通过“研究”“网格收敛性”可以自动完成但手动跑三遍更直观。注意每次改网格后求解器设置不变只比较温度值。3.4 稳态与瞬态求解器配置收敛判据、时间步长与阻尼稳态求解在“研究”节点下选择“稳态”。在“求解器配置”里如果问题非线性比如辐射或温度相关材料把“非线性方法”设为“自动高度非线性牛顿”最大迭代次数设 50容差设 1e-6。如果发散把阻尼因子从 1 降到 0.7。瞬态求解选择“瞬态”时间范围设 0 到 100s步长设 0.1s。在“求解器配置”“时间步进”里把“最大步长”设为 0.1s“初始步长”设 1e-4s。如果温度变化剧烈打开“严格时间步进”。收敛判据稳态看“残差”是否降到 1e-6 以下。瞬态看“时间步进”是否在 5 次迭代内收敛。如果超过 10 次说明时间步长太大需要减小。# 瞬态求解器参数模板 t_start 0.0 t_end 100.0 dt_max 0.1 dt_initial 1e-4 tolerance 1e-6 max_iterations 50 damping_factor 0.7 # 仅在发散时使用这些参数在 COMSOL 的“求解器配置”里逐项填入。注意瞬态求解的初始条件默认是 0 K这会导致初期温度跳变。我一般会先跑一个稳态求解把结果作为瞬态的初始值。4. 避坑指南热传导仿真里最容易翻车的五个地方4.1 热源单位填错导致温度差出三个数量级现象芯片温度算出来 3000°C明显不合理。原因体热源密度 Q 的单位是 W/m³但很多人把功率 5W 直接填进去或者把 mm 当 m 算体积。5W 除以 1e-9 m³ 是 5e9 W/m³而正确值是 5e6 W/m³差 1000 倍。解决在 COMSOL 里用“变量”定义 Q P / V并确保 P 用 WV 用 m³。或者在“体热源”输入框里直接写表达式比如 5[W] / (0.01[m]*0.01[m]*0.001[m])。4.2 对流换热系数给成常数但实际是温度相关现象稳态温度场看起来合理但瞬态冷却过程比实验慢很多。原因自然对流换热系数 h 随温差变化常温下 h 约 5-10 W/(m²·K)高温下可能到 20-30。如果你全程用 20低温段会高估散热。解决用 COMSOL 的“对流热通量”时h 可以写成温度的函数比如 h 1.5 * (T - T_env)^0.25。或者直接查经验关联式用“变量”定义。4.3 辐射边界开启后求解不收敛现象加了“表面对表面辐射”后求解器报错“角系数计算失败”或“非线性迭代发散”。原因辐射角系数对网格质量极其敏感尤其是凹面或遮挡结构。如果网格太粗角系数可能大于 1 或小于 0导致非物理热流。解决先单独跑“辐射角系数”研究检查角系数矩阵是否满足行和为 1。如果不满足加密网格尤其是辐射表面。另外把辐射求解器设为“分离式”先算温度场再算辐射交替迭代。4.4 瞬态结果出现非物理振荡现象温度随时间曲线出现锯齿状波动甚至负温度。原因时间步长太大或者空间网格太粗导致数值色散。热传导方程是抛物型理论上不会振荡但离散后如果傅里叶数 Fo α·dt/dx² 0.5就会振荡。解决确保 dt 0.5 * dx² / α。铝的热扩散率 α k/(ρ·Cp) ≈ 167/(2700*896) ≈ 6.9e-5 m²/s。如果 dx 0.2mmdt 0.5 * (0.0002)² / 6.9e-5 ≈ 0.00029s。所以瞬态步长不能超过 0.3ms。如果你设 0.1s必然振荡。4.5 材料库参数与实际情况不符现象仿真结果和热电偶实测差 20°C 以上。原因COMSOL 材料库的导热系数是标准值但实际材料可能含杂质、孔隙或涂层。比如铝合金 6061 的导热系数随热处理状态变化T6 态约 167O 态约 180。解决用“材料”“基本”“导热系数”“用户定义”填入实测值或文献值。如果温度范围大用插值函数定义 k(T)。我一般会做一次参数扫描看 k 变化 10% 对温度的影响如果影响小于 5%就用常数。5. 用派生值验证能量守恒一个被低估的收尾技巧5.1 计算域能量平衡的派生值设置仿真跑完后不要只看云图。打开“结果”“派生值”“体积分”选择“固体传热”接口表达式填 ht.Q_tot总热源再建一个“表面积分”表达式填 ht.ntflux边界热通量。稳态下两者应该相等误差小于 1%。如果误差大于 5%说明边界条件有冲突或者网格太粗导致能量不守恒。我一般会把这个检查作为必做步骤比看云图可靠得多。# 能量守恒检查的伪代码 Q_source integrate_volume(ht.Q_tot) # 体热源总功率 Q_boundary integrate_surface(ht.ntflux) # 边界净流出热流 error abs(Q_source - Q_boundary) / Q_source if error 0.01: print(能量守恒通过) else: print(检查边界条件和网格)在 COMSOL 里ht.Q_tot 是体热源总和ht.ntflux 是边界法向热通量。注意如果边界有对流ntflux 包含对流热流如果有辐射也包含辐射热流。5.2 网格收敛性与时间步无关性的快速检查除了能量守恒还要做网格收敛性检查。我一般会跑三套网格比较最高温度。如果中网格和细网格的温差小于 1%就认为收敛。瞬态问题还要检查时间步无关性把最大步长减半看温度曲线是否重合。一个快速技巧在“研究”“求解器配置”里打开“自适应网格细化”让 COMSOL 自动加密误差大的区域。但自适应网格对瞬态问题支持有限我一般还是手动加密。5.3 从云图到设计决策怎么判断结果能不能用云图好看不代表结果能用。我判断结果是否可信看三条能量守恒误差小于 1%网格收敛性通过关键点温度与实验或解析解偏差小于 5%。如果三条都满足才敢把结果拿去做散热设计。最后说一个血泪教训我曾经因为没检查能量守恒把一个芯片结温算低了 30°C导致散热器选型偏小样机跑起来直接过热降频。从那以后我每次跑完热传导仿真第一件事就是看能量守恒。希望这个习惯也能帮到你。本文还有配套的精品资源点击获取

相关新闻

个人AI API聚合网关零成本实践:OneAPI统一管理四家免费额度

个人AI API聚合网关零成本实践:OneAPI统一管理四家免费额度

各家厂商的免费额度分散在各自平台里,能不能统一成一个接口管理?答案是肯定的:用开源项目One-API搭建个人聚合网关,把多家厂商的免费额度统一成一个OpenAI格式接口,换模型不改代码,全程几乎零成本。本文是完…

2026/10/14 18:14:40 阅读更多 →
ESP32 CSI实战:用WiFi信道状态信息实现人体感知

ESP32 CSI实战:用WiFi信道状态信息实现人体感知

简介:ESP32 的 CSI 提取工具是一套面向无线感知与无设备定位的 C 语言项目,核心目标是从低成本的 ESP32 微控制器中捕获通道状态信息,为 WiFi 传感、人员检测、活动识别等场景提供原始信号数据。项目包含主动站点、主动接入点和被动监听三种采…

2026/10/14 18:14:39 阅读更多 →
ESP32-CSI-Tool 实战:从WiFi信道状态到无线感知应用

ESP32-CSI-Tool 实战:从WiFi信道状态到无线感知应用

简介:用于从启用 Wi-Fi 的 ESP32 微控制器中提取信道状态信息(CSI)的开源工具包,面向物联网与无线感知方向的开发者和研究者。其核心目标是利用富含环境信息的 CSI 数据支持 Wi-Fi 传感、无设备定位等任务,代码基于 C …

2026/10/14 18:14:39 阅读更多 →

最新新闻

浏览器多开怎么设置独立 IP?Profile、代理与核验流程

浏览器多开怎么设置独立 IP?Profile、代理与核验流程

浏览器多开不会自动让每个窗口拥有不同的公网 IP。想让不同浏览器环境使用不同出口,需要分别配置获授权的代理或网络线路,再从各个环境实际访问网络进行核验。要先分清两件事:Profile 隔离浏览器数据,代理配置影响网络出口。**它们…

2026/10/14 19:11:22 阅读更多 →
PS5 Chiaki 串流多账号切换导致控制器失灵的故障排查与解决方案

PS5 Chiaki 串流多账号切换导致控制器失灵的故障排查与解决方案

在使用 Chiaki 串流 PS5(或配合自动化脚本挂机)时,部分拥有大小号/多区服账号的玩家可能会遇到一个极其隐蔽且容易误导排查方向的控制失效问题。本文将详细复盘该故障的成因及解决思路,供遇到类似情况的玩家参考。 一、 故障现象与…

2026/10/14 19:11:22 阅读更多 →
2026企业AI办公工具选型指南:框架、产品盘点与落地思路

2026企业AI办公工具选型指南:框架、产品盘点与落地思路

2026企业AI办公工具选型指南:框架、产品盘点与落地思路企业引入AI办公工具时,很多管理者容易陷入选型误区。不少团队会把产品功能清单的丰富度作为核心评判标准,或是单纯对比订阅成本,也有部分决策仅凭品牌声量敲定方案。这类评估…

2026/10/14 19:11:22 阅读更多 →
上海点山展示如何通过展厅设计传递企业的“前世今生”?

上海点山展示如何通过展厅设计传递企业的“前世今生”?

上海点山展示如何通过展厅设计传递企业过去现在未来?关键在时间叙事的三层结构展厅不只是物理意义上的展示空间,更是品牌时间的容器。对于深耕长三角区域的展厅设计公司而言,如何让企业的“过去、现在、未来”不再割裂为孤立的展板&#xff0…

2026/10/14 19:11:22 阅读更多 →
判断泛消费级机器人初创公司是否值得持续关注,应该看哪些连续证据

判断泛消费级机器人初创公司是否值得持续关注,应该看哪些连续证据

机器人行业经常出现“下一家黑马是谁”“某家公司值不值得持续关注”等问题。对于仍处在研发和产品验证阶段的初创公司,提前给出确定性结论并不稳妥。相比标签和短期热度,更可行的方法是建立一组能够持续更新的观察指标。以贝塔无限为例,其公…

2026/10/14 19:11:22 阅读更多 →
库存扣减的并发控制:乐观锁的应用

库存扣减的并发控制:乐观锁的应用

财务主管跨界写技术文,先交代缘由:公司商城搞限时促销,活动结束对账,账面库存和实物对不上,多卖了四十七件。排查一周,病根是库存扣减没做并发控制,两个请求同时读到同样的库存数,各…

2026/10/14 19:10:22 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →