图为热传递示意(L0)。下方算例使用实际运行的内置引擎。
公式、引擎、推导,
是同一条链上的不同环节。
规则 → 求解 → 换算,一条链走完
物理公式
规定:热量怎样传递计算引擎
执行:一步一步算指标推导
换算:对生产意味着什么现场实测,是对这条计算链的检验。
算得出来 ≠ 已经测过 · 校准温度 ≠ 验证能耗
导热
q = −k · ∇T热流 = 导热能力 × 温度变化梯度对流与辐射
q = h(Tg − Ts) + εσ(Tg⁴ − Ts⁴)简化边界示意;辐射项温度用 K,系数需匹配炉况能量守恒
输入 + 放热 = 吸热 + 损失核对所有适用项,避免漏项或重复计算让计算过程,
在眼前看得见。
拖动保温时间,先看芯温达标,再看能量账
同一批料,多保温一会儿,会怎样?
下列三组结果由工作台同一引擎在页面生成时计算。切换查看结果;没有使用客户实测数据。
保持不变:示例碳钢 · 厚 220 mm · 装料 298.4 t · 入炉 20°C · 芯温目标 1180°C
最终芯温 · 约第 252 分钟达到目标
① 来自热量收支,③ 是算术换算。它们都依赖同一组模型假设,不能因为相除就变成实测值。
展开本算例的输入、能量明细与限制
计算版本:heatins-fast-thermal-mvp@0.2.0。1D 板坯双面加热;对流系数 25 W/(m²·K),另计辐射。材料采用内置示例碳钢卡,不代表特定炉次的检测报告。
炉温曲线:20→850°C,90 分钟;850→1220°C,120 分钟;1220→1220°C,45 分钟。
求解器积分 ρ·h(T) dV,冷态质量 298.43t(ρ@20°C=7850kg/m³),平均温升 1164°C
按多层稳态串联热阻温度剖面与逐层累计厚度中面面积累加 ρ·V·cp·(T_layer−T_amb),内部均温 856°C,外环境 30°C;摊销系数 1%(冷启动 1.0 / 稳态 ≈ 0.05)
0% × 工件吸热(需现场实测)
U=0.39W/m²K × A=1493.8m² × ΔT=826°C × 4.25h(冷起点/环境基准 30°C)
燃料耦合:天然气(CH₄ 化学计量) LHV 35.79 MJ/Nm³、λ=1.10 ⇒ 1.154 Nm³/kWh,Shomate 焓 h(750°C)−h(25°C),回收率 78% ⇒ 排烟净损失占燃料 7.6%
开口 1.6m² × ε=0.7 × 0.62形状因子 × σ(⟨T⁴⟩−T_amb⁴) × 4min/h × 4.25h(⟨T⁴⟩ 为逐时刻四次方的时间平均,等效温度 980°C);冷起点/环境辐射基准 30°C
按总输入热 12% 反解(Q_总=Q_基础/(1−f_水−f_辅−φ_烟))
能耗口径:口径声明:本账为单批炉膛热平衡,不等于厂级电表口径/燃料表口径;未配置的待机、常开端口、辅机与变配电损失不在总输入内
- MVP 快模型:尚未做工业级 CFD/CHT 校验,仅做工程估算与 A/B 对比
- 潜热使用有效比热法近似;现场 L3 需独立实测与按指标误差验收,外部求解对照仅检验数值实现
- 换热边界为上界估计(未标定 phi_cg);生产结论请用 phi_cg 标定模式
- 排烟按燃料耦合计算:炉卡未给燃料,单位烟气量取天然气化学计量;若实烧混合煤气/高炉煤气则偏乐观,须补燃料参数并以燃气表标定
- 能耗账物理基线已替换占位百分比,但损失项可信度仍依赖现场参数完善程度
平台每一类结果,
各自有依据,也各自有边界。
先看一句话问题,技术细节点开看
工件升温与芯部温度
外面烧红了,里面热透了吗?
怎么算 · 适用边界 · 代码位置
按厚度或半径把工件分成小层,逐步计算热量从炉内进入表面、再传到芯部。表面、芯部温度和升温曲线来自同一次求解。
内置主线是 1D 板坯 / 径向圆柱模型。材料、换热系数及炉温曲线会影响结果;不能据此声称已求解完整三维炉内流场。
导热方程 + 对流 / 辐射边界;Crank–Nicolson 时间推进,圆柱有限体积离散。
src/simulation/heatTransfer/slabHeating.ts热量去向与总能耗
买来的能量,都用到哪里了?
怎么算 · 适用边界 · 代码位置
工件吸热由温度与材料热容积分得到;再计入炉墙、排烟、蓄热、开口等适用损失,形成能量账。各项的依据不同,不是一律实测。
单批炉膛热平衡是 L1 工程估算。缺少流量、炉衬等实测时会用近似参数;工件温度校准不会自动把能耗升级为 L2。
工件吸热:∫ρ·Δh(T) dV;总输入:各吸热 / 损失项之和,扣除适用放热项。
src/simulation/energy/energyAccount.ts燃烧与烟气热损失
燃气释放多少热,又随烟气带走多少?
怎么算 · 适用边界 · 代码位置
由燃料组分配平氧气和烟气,用焓计算热量;炉气辐射使用工程辐射模型。分区燃烧模型描述总体热收支。
零维分区模型不解析每一处火焰和湍流。燃料热值、过量空气、渗风及烟气量必须核对现场;占位烟气量不是流量计读数。
燃烧组分守恒 + 烟气焓;Shomate 热物性、WSGG 炉气辐射近似。
src/simulation/combustion/zoneCombustion.ts钢包烘烤温度
包衬烧热了多少,外壳会不会太热?
怎么算 · 适用边界 · 代码位置
把工作层、永久层与钢壳作为多层圆筒,计算热量逐层传递,并考虑烘烤盖与缝隙的散热。
使用分区代表性 1D 温度,包底仍有近似处理;三维画面展示这些代表温度,不是全包三维 CFD 求解。
多层圆筒瞬态导热 + 燃烧与辐射边界。
src/simulation/ladle/ladleSimulation.ts渗碳深度与硬度
碳渗进多深,最终能有多硬?
怎么算 · 适用边界 · 代码位置
先求解碳向材料内部扩散,再结合相变和硬度关系,推导达到硬度阈值的有效层深;快估入口使用更简化的关系。
硬度链含经验公式,不是全部从基本定律直接推出。传质系数、材料与热处理状态需验证;预测不能替代硬度实测。
Fick 扩散 → 相变 / 硬度关系 → 按阈值求有效硬化层深;Harris 为 L1 快估。
src/simulation/carburizing/carbonDiffusion.ts氧化烧损、应力与寿命
加热可能带来多少材料损耗或热损伤?
怎么算 · 适用边界 · 代码位置
按温度历程推算氧化皮生长;钢包模块从温度梯度估算热应力,再由材料损伤关系给出寿命趋势。
速率系数、材料力学性质与损伤参数影响很大。用于比较趋势,不能当作设备剩余寿命或安全运行承诺。
线性 / 抛物线氧化速率;温度场 → 热应力 → 疲劳损伤模型。
src/simulation/oxidation/scaleGrowth.ts · src/simulation/mechanics/fatigueDamage.ts吨耗、效率、成本与方案差值
这组结果,换算成生产指标是什么?
怎么算 · 适用边界 · 代码位置
总能耗除以吨位得到吨耗;工件吸热除以总输入得到热效率;能耗乘相应能源单价得到费用。方案差值来自两次同口径计算。
公式可以完全正确,输入仍可能是估算。预测节能率必须说明质量、产量和基准条件,不能直接写成已实现节能率。
吨耗 = 总能量 ÷ 吨位;热效率 = 工件吸热 ÷ 总输入;差值率 = (基准 − 方案) ÷ 基准。
src/simulation/energy/energyAccount.ts · src/presentation/scenarioCompare.ts现场校准与能耗对账
怎样让模型更像我们的这台炉?
怎么算 · 适用边界 · 代码位置
用有效测温数据拟合换热参数;能耗对账另外引入待机、开门、装载等修正项,用对应表计数据拟合并检查误差。
导入数据不等于校准成功。合成数据不能升 L2;只有相应指标满足质量门槛才可标已校准,独立验证还需另留数据。
预测与观测残差 → 参数拟合 → 留一检查 / 数据覆盖等门槛。
src/simulation/calibration/effectiveHeatTransfer.ts · src/simulation/reconcile/fitCorrections.tsAI 设定与控制优化
哪组温度和时间更值得尝试?
怎么算 · 适用边界 · 代码位置
优化算法在约束内搜索工况,利用模型评价结果;MPC 在滚动时间窗口内选择控制量。余热与配额模块按各自模型比较方案。
模型内最优依赖目标、约束与模型误差。当前方案建议不等于现场闭环投运,实际调整还要满足工艺质量与设备联锁。
目标 GP + 独立约束 GP × EI / 滚动 MPC;钢包多目标模块为采样与支配排序。
src/ml/bayesianOptimizer.ts · src/ml/mpcController.ts · src/ml/ladleMpc.ts软测量与异常识别
没有芯部传感器,能不能辅助判断?
怎么算 · 适用边界 · 代码位置
软测量模型从物理仿真数据学习温度关系,快速估计芯温;异常检测用统计控制图和孤立森林寻找异常模式。
当前软测量主要是模型向模型学习,不能当作独立测量。演示传感器流不是已接入的工厂实时数据;告警也不是故障定论。
物理约束 MLP;EWMA 控制图 / Isolation Forest。
src/ml/coreTempSensor.ts · src/ml/anomalyDetector.ts3D 孪生与图表
三维颜色从哪里来?
怎么算 · 适用边界 · 代码位置
工作台用计算结果驱动温度颜色、剖面和曲线,便于理解热量传递;首页炉体是帮助讲解的 L0 示意。
三维几何表现与求解维度是两回事。1D 结果可以映射到 3D 画面;画面逼真程度不能作为计算精度或实测证据。
求解器温度 / 时间 → 视图数据 → 色标与几何。
src/components/digitalTwin/TwinViewport.tsx · src/presentation/twinModel.tsAI 工艺智询与诊断解释
能不能把结果和依据讲清楚?
怎么算 · 适用边界 · 代码位置
智询结合资料和仿真上下文组织解释;诊断模块依据数据和工程规则定位值得核查的机会,并记录后续对账。
语言回答不是物理求解器,也不是测量报告。具体数字应追溯计算或原始资料;自填前后能耗不会自动成为 L3 证据。
资料检索与语言生成;工程规则 → 诊断建议 → 现场核验。
src/ml/llmProvider.ts · src/simulation/diagnosis/engine.ts多目标寻优(EHVI 超体积提升)
只能试有限几次方案,怎么挑更有针对性的那几个?
怎么算 · 适用边界 · 代码位置
先用均匀采样取一组初始方案,再用高斯代理模型近似燃耗 / 时长 / 疲劳损伤三个目标及其不确定度;每一步在候选池里挑「期望超体积提升」最大的方案做一次真实仿真,逐步把前沿补全。
这是 q=1 的 MC-EHVI 原生工程实现,不是 qLogNEHVI,也没有接入 Botorch 等第三方引擎。仅在钢包三目标对照入口开放;同预算下不保证每次都优于均匀采样。超体积衡量方案集合的覆盖程度,不是节能率。应力上限约束当前只在这条路线接入,未提供阈值时不做任何安全声明。
独立 GP(目标 z-score 标准化 + RBF)× Monte Carlo EHVI(q=1);可选应力可行概率 Φ((上限−μ)/σ);参考点与标准化仅在初始设计上冻结一次。
src/ml/multiObjective/ehviSearch.ts · src/app/api/ladle/route.ts(action=pareto, method=ehvi)移动窗炉温偏差估计(MHE)
炉温比模型想的偏了,能不能用最近几次测温把它估出来?
怎么算 · 适用边界 · 代码位置
取最近一个窗口(最多 6 步)的测温,与模型沿窗口连续传播的结果对比,反解一个炉温偏差值交给闭环控制去修正设定;窗口滚动,出窗的旧测量不再参与。
估的是「一个偏差值」,不是完整温度场,也不给精度 / 协方差。有效测量不足、时间无效、超出窗口或来自未来时回退先验并显示诊断;窗口内测量按实际时刻传播并对齐;偏差限定在 ±120°C。修正建议仍需工艺确认,不是已投运的自动闭环承诺。
窗口内逐步连续传播 + Huber 稳健残差(按测量标准差归一)与到达先验的加权目标 → 有界一维寻优。
src/ml/mhe/estimateMovingHorizonBias.ts · src/ml/mpcController.ts(disturbanceEstimator:"mhe")· src/components/ring/ai/RingNmpc.tsx二维截面代理(先物理教师、后小模型)
能不能既少算一些,又不把物理丢了?
怎么算 · 适用边界 · 代码位置
先让假设明确的物理教师算一遍:均匀初温、四面同一换热系数、常物性的矩形截面,用分离变量截断级数求解(48 项,并做 96 项收敛核对);再在固定网格的教师数据上训练一个限定范围的小响应面。学生模型只有通过预置验收门才允许使用,否则回退教师值并说明原因。
教师只覆盖上述假设,不是完整动态 2D/3D PDE,也不参与主引擎结果路径。学生只在固定域(Bi_a 0.1–10、b/a 1–8、Fo_a 0.02–2)内有效;域外 / 未训练 / 验收门未达 / 物理越界(θ 超出初温–炉温区间)一律回退教师。学生已完成限定域合成数据的留出与冻结盲测验收(独立 192 点 MAE 0.0065 / 最坏 0.0396,过预置门);原始代理存在局部非物理超调,展示层按物理边界回退教师。同机对照教师与学生同为毫秒级、计时相近,不构成加速收益;本实验保持独立,不给出任何现场适用或加速倍数承诺。
教师:θ_2D = θ_1D(x)·θ_1D(y) 截断级数;学生:切比雪夫张量响应面(每轴固定 4 阶)+ 岭正则,域与验收门在训练前固定。
src/simulation/heatTransfer/rectangularTeacher.ts · src/ml/thermalSurrogate/surrogate.ts · src/workers/thermalSurrogate.worker.ts · src/components/workbench/views/TwoDimensionalLab.tsx标签只说明计算方式,不代表精度 · 默认按 L1 工程估算理解
可信度看证据,
不看画面有多逼真。
等级跟着指标与证据走 · 本页不作客户现场 L3 声明
- L0示意帮助理解
- L1工程估算用于初筛与比较
- L2已校准贴近特定工况
- L3已验证有独立结果作证
四级分别意味着什么
- L0 示例
- 演示工况、示意图或合成数据。可看流程,不是现场事实。
- L1 工程估算
- 按物理模型和工程参数计算,仍有假设与未校准项。
- L2 已校准
- 对应指标使用有效现场数据拟合,并通过质量门槛。
- L3 已验证
- 用独立现场数据、约定误差与可比条件核验特定结论。
用一句话回答客户
我们用物理规律计算,用引擎完成求解,把结果换算成生产指标;再用您的现场数据,检验预测与实际的差距。
经验参数标出处 · 未验证的节能量标为预测
验证这一炉,需要准备什么?
- 工况与质量
- 同步测量
- 运行事件
- 独立验证批次
每项具体要什么
- 工况与质量:材料、尺寸、装料量、入炉温度、工艺与合格标准。
- 同步测量:时间对齐的炉温 / 工件测温、燃气或电表、产量记录。
- 运行事件:开门、待机、换产、重启,以及仪表口径和校验信息。
- 独立验证批次:一部分数据校准,另留批次检验;事先约定误差与可比条件。
客户问:“有实际数据,为什么不能马上说节能已验证?”
改造前后能耗不同,还可能受产量、材料、装载率、入炉温度、产品质量和运行时长影响。需要先对齐计量边界与可比条件,并核验原始数据;仅上传一张表或填入两个数,不能证明节能因果。
客户问:“既然有物理公式,为什么还要现场校准?”
物理规律相同,具体炉子的保温状态、换热能力、燃料组分和传感器误差不同。校准是用现场数据确定这些参数;验证是用另一组数据检查它们能否正确预测。两步不能互相替代。
把同一道题,
交给两套引擎。
先看曲线吻合,再看步长收敛 · 公开合成工况
- 200 mm 截面
- 20 → 1000°C
- 20 min
- 40 单元 · 2.5 s 步长
- 本例最大差值
- 0.176 °C
- 解析解偏差
- 0.025 °C
两线接近重合 · 未到目标温度,不代表完成加热
步长更小,答案有没有稳定下来?
| 工况 | 10→20 单元 | 20→40 单元 | 10→5 秒 | 5→2.5 秒 |
|---|---|---|---|---|
| 板坯 · 对流 | 0.08215 | 0.02052 | 0.00000 | 0.00000 |
| 圆坯 · 对流 | 0.07881 | 0.01971 | 0.00000 | 0.00000 |
| 板坯 · 对流与辐射 | 0.32901 | 0.09117 | 0.00000 | 0.00000 |
| 圆坯 · 对流与辐射 | 0.44897 | 0.12977 | 0.00000 | 0.00000 |
| 板坯 · 变物性与辐射 | 0.27443 | 0.07370 | 0.00000 | 0.00000 |
各组误差随加密减小。预设验收:外部最大差值小于 2°C,适用解析解的最大偏差小于 1°C。阈值是本次数值基准要求,不是现场认证标准。
仅公开合成基准 · 不能推广到现场工况
范围全文
公开合成基准;一维均质板坯/圆柱,恒温对流/辐射,附一组线性变物性;不含相变、氧化、炉气流动及现场验证。相变材料、多层炉衬、完整 CFD 和现场工况需要各自的专项证据,不能由此推广。
已接入 / 独立约束 GP × EI
先学会判断质量,
再寻找更好的方案。
它怎么挑方案
相同 24 次试算预算 · 20 个固定种子
百分比 = 合格方案占比,不是节能率
假设与边界
0.0148°C 最大温差 · 阈值 0.1°C · 10 个相同时刻
算例口径
预测和实测,差了多少?
比误差 · 比固定区间与 DtACI 自适应区间的覆盖率 · 文件仅在您的浏览器内计算
- 1锁定预测版本
- 2分开校准与验证批次
- 3检查误差与覆盖率
CSV 怎么填写?
每行一个同步测点。timestamp 用带时区的 ISO 时间,batch 是整炉/整批标识,split 填 calibration 或 validation,predicted 是事先预测,measured 是后来实测。两组各至少 20 点,总计不超过 5000 点;空值和重复点会被拒收。每次只放同一指标、单位、模型和适用工况。
温度计的测量位置必须与预测位置一致;炉温设定值不能当芯温实测。能耗需匹配同一计量周期和边界。导入不能核实文件是否真实,也不能自动证明预测早于实测。
实跑日期 2026-09-25 · 输入、逐点输出与源码摘要随版本保存。方法依据:约束 BO 原论文 / NIST FiPy / DtACI 原论文。