能力专题 · Capability Topic

科学计算与物理建模

物理世界不该靠猜,它该被方程算出来——用本体把守恒律、元件端口、材料本构与试验数据绑在一起,让模型既可解释,又可校准,还能自己长出缺失的那部分。

FlyOntOS:语义骨架 · 工况与验收判据ScienceML:Julia / Dyad 因果建模 · 参数标定 · 结构发现10 个公开案例 · 五大物理域
Modeling Dilemma

今天的物理建模,两头都不靠

一边是“结构对但参数靠拍”,一边是“拟合好但外推就崩”。

3 周

传统仿真模型平均搭建周期,改一次结构整链重跑

0

纯数据驱动对守恒律的保证,训练域之外即失效

99%

灰箱标定在未见工况上相对线性基线的误差下降

0.1%

四个物理参数从时序测量中反求复原的误差量级

Three Routes

三条路线,差的不是精度

差的是“模型里到底有没有物理”。

维度传统 CAE 仿真纯数据驱动代理模型FlyOntOS + ScienceML(灰箱)
模型表达手写方程 / 信号框图网络权重,无显式结构因果(acausal)组件 + 守恒方程
守恒律✓ 显式保证✗ 无保证✓ 显式保证 + 神经网络只补全残差项
参数从哪来手册值、经验值、人工试凑端到端训练CalibrationAnalysis 从测量数据反求
缺一块物理怎么办人猜结构,猜错就全错隐式拟合,读不出来NNTrainingAnalysis 从数据里长出结构
外推到未见工况结构对则强✗ 弱✓ 强:结构约束 + 数据补全
可解释性✓ 强✗ 无骨架可读,学到的残差可单独检视
改一个参数重建模型、重跑整链重新训练remake + solve,秒级重解
稳态 / 瞬态 / 设计点各建一套模型不适用✓ 单一真源,同一模型换分析

一句话:物理骨架保证“不会胡说”,数据补全负责“说全”。

Five Physics Domains

我们到底在算哪些物理

十个公开案例,覆盖五大物理问题域。

传热与热管理

Q̇ = hA·ΔT + εσA·ΔT⁴

导热、对流、辐射三路径耦合;从元器件到建筑围护结构的多尺度热网络。

4 个案例

飞行力学与气动

6-DOF 刚体 + 大气 / 气动

升力体再入飞行器的刚体动力学、大气模型、气动系数与飞控律闭环。

1 个案例

车辆动力总成与热机耦合

J·ω̇ = ΣT,Ė = Q̇

功率分流混动的能量管理策略;制动能量转化为热的双向耦合。

2 个案例

材料本构辨识

ż = f(z, θ̇)(Bouc-Wen)

从试验数据反求隐藏的非线性本构参数;用神经网络恢复未知本构项。

2 个案例

场与空间动力学

∂u/∂t = D∇²u + f(u)

反应扩散与 FitzHugh-Nagumo 行波;自定义端口原语构建网格场模型。

1 个案例

Ten Cases, Rebuilt

十个案例,逐个重构

物理场景取自 Dyad 公开案例库,方案是 FlyOntOS + ScienceML 重构后的做法。每张卡按同一结构讲:物理问题 → 重构前的痛点 → 重构后的方案 → 重构效果。

01 · 三区商业办公楼:一份模型,两种分析

传热 · 建筑热工

DynamicSteadyState

物理问题 · 三分区办公建筑的热网络:围护结构(墙 / 窗 / 屋面 / 楼板 / 渗风)热阻 + 分区热容 + HVAC 控制。要同时回答两件事——设备选多大,以及全天怎么跑。

重构前的痛点 · 选型用稳态手算或一套简化模型,运行仿真再搭另一套。两套模型的假设悄悄漂移,最后谁也说不清差在哪。

FlyOntOS + ScienceML 重构

  • 单一真源:一份 ThreeZoneBuilding 热网络,同时挂 SteadyStateAnalysis(设计日设备选型)与 TransientAnalysis(24 h 昼夜运行 + 温控器)
  • 本体解耦:HeatCapacitorNoInit 刻意去掉内置 initial T = T0——瞬态由台架供给初值,稳态则不受初值条件过约束
  • 控制器显式建模:ThermostatHeater 比例律 Q = K·(T_set − T),再由 Q_max 截断为实际供热
  • 外部真理入仓:ASHRAE 办公 occupancy 逐时曲线(CSV),分段线性插值驱动内扰

重构效果 · 1 份模型定义 / 2 种分析类型 / 0 处重复建模;改一个参数,选型结论与运行结论同步更新。

ASHRAE occupancySteadyStateTransientQ_max 截断

02 · 住宅供暖:把 Excel 里的 U 值搬进本体

传热 · 建筑围护

ThermalHouseDemo

物理问题 · 1000 sq ft 住宅,围护结构分项热损失 + 空气渗透 + 太阳得热 + 内扰,算室内温度如何响应天气与控制策略。

重构前的痛点 · U 值、ACH、SHGC 散落在 Excel 里,改一个保温方案要重算整表;控制策略一变,模型就得重搭一遍。

FlyOntOS + ScienceML 重构

  • 参数化围护本体:墙 / 窗 / 门 / 屋面 / 地面各有独立 U 值,几何(面积、层高、窗墙比、门数)与热工参数彻底分离
  • 热质量分层显式:空气体积 + 石膏板 + 楼板三种热容分别计入,不再拍一个等效热容
  • 得热本体化:太阳得热按 SHGC × 朝向因子,内扰按人员 / 照明 / 设备分项
  • 同源双分析:开环 TestHouseWinterDesign(7.5 kW / 0 ℃ / 2 h)与 PI 闭环 TestControlledHouseWinterDesign(15.5 ℃ 起调至 21.1 ℃ 设定点)

重构效果 · 改保温方案 = 改参数;同一模型既验“够不够暖”,又验“控制稳不稳”。

1000 sq ftACH 渗风SHGCPI 闭环

03 · 浓缩咖啡杯:加一个零件,就是加一个组件

传热 · 多路径耦合

CoffeeMugDemo

物理问题 · 60 mL 浓缩咖啡(90 ℃)在瓷杯(20 ℃)中冷却——内部对流 → 杯壁导热 → 外表面对流 + 辐射;另有蒸汽、握杯的手、可选金属勺。

重构前的痛点 · 这类小系统最容易被拍脑袋估;一旦要加一条散热路径(比如勺子),整个方程重写一遍。

FlyOntOS + ScienceML 重构

  • 五个子系统各自建模再拼装:CoffeeMugSubsystem / SteamSubsystem / SpoonSubsystem / HandSubsystem + 固定 20 ℃ 环境
  • 端口语义统一(HeatPort):加一条散热路径 = 加一个组件并接上去,已有方程一行不动
  • 勺子建模为散热翅片:从液体导热经勺体,再由外露手柄对流 + 辐射散出
  • 手建模为热质量:37 ℃ 热质量 + 接触导热
  • 两条瞬态分析:EspressoCoolingModular / EspressoCoolingWithSpoon,均 6000 s、Rodas5P

重构效果 · 有无勺子的冷却曲线同图对比;“改结构”从重写方程变成增删组件。

模块化热子系统勺子作散热翅片Rodas5P

04 · 火鸡烘焙:分布参数 + 安全阈值可交互

传热 · 分布参数

TurkeyDemo

物理问题 · 火鸡近似为球体,离散成 N 个同心壳层;烤箱经对流(信号驱动换热系数)+ 辐射(BodyRadiation)加热表面,壳层间按傅里叶导热,追踪每一层温度,预测中心达到 165 ℉ 的时刻。

重构前的痛点 · 165 ℉ 是食品安全硬约束,但烤箱温度 / 火鸡质量 / 密度一变就得重算;做成能给非工程师直接用的工具几乎不可能。

FlyOntOS + ScienceML 重构

  • 分布参数离散本体:每层质量 / 体积 / 表面积由几何推导,能量守恒 ODE 逐层列出
  • 参数全部可注入:M、rho、cp、k、T_init;烤箱侧 T_oven、h、epsilon、M_turkey
  • 表面热连接器:让“对流”与“辐射”两条路径可独立开关,便于分辨各自贡献
  • 分析:TurkeySphereCooking 瞬态跑 14400 s,每 60 s 存一点
  • 可视化即交付:GLMakie 仪表盘,烤箱温度 / 质量 / 密度 / 半径文本框实时改参,自动重算并标出中心达到 165 ℉ 的时刻

重构效果 · 从“算一次出一个数”变成“一个可交互的验收工具”。

同心壳层离散对流 + 辐射GLMakie 仪表盘

05 · NASA HL-20:两条提示词长出一套飞行仿真

飞行 · 6-DOF

HL20Demo

物理问题 · 升力体再入飞行器的刚体动力学 + 大气模型 + 气动 + 飞控律 + 舵面混控,跑闭环俯仰脉冲机动。

重构前的痛点 · 这套模型传统上要一个小组写几个月;而“模型是否符合规范”全靠人评审,评审意见和模型之间没有机器可查的链路。

FlyOntOS + ScienceML 重构

  • 从规范生成,而非手写代码:两条提示词——prompt.md(建模型)与 prompt_pitchpulsesim.md(跑仿真出图)
  • 规范即本体:assets/shared/hl20_spec.md 是唯一输入源,模型是它的派生物
  • 边写边验:Agent 读规范 → 写 Dyad 组件 → 编译 → 在 Julia 里逐块验证 → 再进入下一块
  • 验证分析与模型同生:生成时就要求附带一整套验证分析,而不是事后补测试

重构效果 · 模型代码零手写;瓶颈从“会不会写方程”转移到“规范写得够不够清楚”。

Dyad Agent规范驱动生成俯仰脉冲机动

06 · 功率分流混动:ECMS 实时能量管理

车辆 · 混动能量管理

HybridTransmission

物理问题 · 行星排(速比 2.6)耦合发动机(Atkinson 74 kW)、MG1(25 kW 太阳轮 / 发电)、MG2(70 kW 齿圈 / 牵引),实时最小化 J = fuel_rate + s·P_battery,等效因子 s 由 SOC 反馈动态调整;整车跟随 EPA HWFET 循环(765 s、10.26 mile、最高 60 mph)。

重构前的痛点 · 能量管理策略调参靠试,一次全循环仿真慢;油耗结论追不到底——说不清是哪个部件模型的假设造成的。

FlyOntOS + ScienceML 重构

  • 部件级本体:HybridEngine(BSFC 多项式映射,取自 Guzzella & Sciarretta《Vehicle Propulsion Systems》3rd ed.)/ HybridMG / HybridBattery(NiMH 274–330 V、5.5 kWh 等效电路 SOC 估计)/ HybridVehicle(1750 kg,气动阻力 + 滚阻)/ HybridPlanetaryGear
  • 工况即资产:EPA HWFET 速度曲线由官方数据编码为平滑分段近似,作为源块入仓;另备 UDDS 城市循环可切换
  • 分析:TestPowerSplitHybrid 瞬态跑满 765 s 全循环
  • 交互式:Jupyter + DyadOrchestrator 加载库、跑分析、按符号选变量出图

重构效果 · 策略改动 = 改一个权重;油耗结论可一路追到 BSFC 映射与电池模型假设。

BSFC 映射274–330 V NiMH行星排 2.6EPA HWFET

07 · 摩擦制动:热-机双向闭环

车辆 · 热机耦合

FrictionBrakeDemo

物理问题 · 制动把动能转成热;盘与片各有热质量、随车速变化的对流散热、相互辐射耦合;摩擦系数随温度变化——这就是热衰退。

重构前的痛点 · 热-机耦合通常是“先跑动力学,再把结果丢给热模型”:单向、离线、滞后,捕获不到温度上升反过来削弱制动力的反馈。

FlyOntOS + ScienceML 重构

  • 双向耦合:FrictionBrake 把 0–1 制动指令转成阻力矩,按温度相关摩擦系数算摩擦功率,再经热端口分流到盘与片
  • 热侧独立本体:BrakeThermal 盘 / 片各有热质量 + 速度相关对流 + 辐射耦合,盘还向环境辐射;外加热流端口接收摩擦热
  • 闭环整车:Driver(PID,正输出→油门、负输出→制动)+ SimplePowertrain(扭矩容量随车速的多项式 + 一阶滞后)+ SimpleVehicle(转动惯量 + 理想滚动轮 + 平动质量 + 道路阻力)
  • 三层验证:恒定热流 1800 s 单独验热模型 → 108 km/h 滑行 100 s 验动力学 → 2000 s 正弦车速参考跑主演示

重构效果 · 从“单向离线耦合”变成“闭环同时求解”;每个子系统都能单独验收。

温度相关摩擦系数热端口耦合PID 驾驶员

08 · 传动系隔振器:设计实验,而不是堆数据

本构 · 参数标定

DrivelineScienceML

物理问题 · 两惯量传动系(扭矩源 → 电机惯量 → 扭转隔振器 → 负载惯量 → 接地阻尼)。隔振器三条扭矩通路并行:已知准静态基线 k0·Δθ + c0·Δω;隐藏的 Maxwell 支路(k1 串 c1,拐点 1/(2π·c1/k1) ≈ 48 Hz 以上刚度上升);隐藏的 Bouc-Wen 单元(α·z,率无关滞回,黏性阻尼在原理上无法复现)。

重构前的痛点 · 只挂一个 Maxwell 支路去拟合,k1 会系统性偏低约 28%;而且分不清到底是“优化器没找到”,还是“结构上根本不可辨识”。

FlyOntOS + ScienceML 重构

  • 阶段 1 · chirp:1→500 Hz、±2 Nm 叠加在 30 Nm 均值上——扫频把 Maxwell 松弛(拐点 ≈ 48 Hz)与频率平坦的 Bouc-Wen 切向刚度 α·A 分开 → k1、c1、α
  • 阶段 2 · 慢循环:1 Hz 正弦、±100 Nm——Maxwell 支路冻结(已松弛),只剩满幅滞回环 → α、β、γ
  • 验证 · tip-in:30→150 Nm 斜坡 + 600 Hz 纹波,两条通路同时活跃,只验证不拟合
  • 链式编排:两级 CalibrationAnalysis 由 run_calibration.jl 串联,阶段 2 用去偏后的 k1/c1 通过构造关键字冻结
  • 可辨识性本体化:Bouc-Wen 增益 A 约定固定为 1——流动法则在 (A→s·A, α→α/s) 下严格不变,同时拟合两者在结构上不可辨识
  • 诊断:diagnose_calibration.jl 报优化器健康度并重建目标函数,检验真值是否真是损失最小点

重构效果 · k1 ≈ 294(真值 300)、c1 ≈ 1.02(1.0)、τ ≈ 3.5 ms(3.3 ms)、α ≈ 49.6、β ≈ 4.97、γ ≈ 0.44;未见 tip-in 工况 RMSE 下降约 99%。

Maxwell 支路Bouc-Wen 滞回可辨识性设计

09 · 1/4 卡车:已知骨架 + 未知非线性 = 灰箱

本构 · 灰箱结构发现

QuarterTruckScienceML

物理问题 · 1/4 卡车平顺性,三个未知非线性——立方轮胎刚度(含压缩-only 脱胎)、轮胎-车身库仑摩擦、座椅-驾驶员黏弹性阻尼。

重构前的痛点 · 全黑箱网络能拟合但读不出来、外推即失效;全参数模型一旦本构猜错就全错。两条路都不敢用在认证工况上。

FlyOntOS + ScienceML 重构

  • 结构发现:NNTrainingAnalysis(DyadModelDiscovery)——保留已知线性骨架,未知项换成 NeuralNetworkBlock,Adam → LBFGS 两阶段训练
  • 留出验证:训练用正弦激励,验证用 ISO 8608 A 级随机路面(ISO8608Road / DenseISO8608Road),统计特性完全不同
  • 参数标定:CalibrationAnalysis(DyadModelOptimizer)——从轮胎接地力、悬架行程、座椅加速度时序反求车身质量、悬架刚度、悬架阻尼、摩擦力
  • 扰动真值:质量 +5%、刚度 +10%、阻尼 +20%、摩擦 +50%,专门用来检验标定器的分辨力
  • 权重入仓:预训练 LBFGS 权重提交入库,验证可立即复现,不必重训

重构效果 · 四参数复原到 ~0.1%;NN 增强模型在 ISO 8608 留出集上比线性基线准数倍(三面板叠加对比)。

NNTrainingAnalysisISO 8608 A 级路面Adam + LBFGS

10 · 反应扩散场:把扫参从跑批变成拖滑块

场 · 空间动力学

MakieWebinar

物理问题 · 20×20 反应扩散与 FitzHugh-Nagumo 行波在网格上的演化;以及 RC 充电、RLC 谐振(欠阻尼 / 临界 / 过阻尼)、受控振子 PID 等经典瞬态。

重构前的痛点 · 空间场模型通常是一次性脚本——网格一改、参数一改全部重写;可视化与模型是两套代码,改模型就得改图。

FlyOntOS + ScienceML 重构

  • 自定义端口原语:DiffusionPort / DiffusionCapacitor / DiffusionResistor——让“网格上的场”也能用因果组件表达,5×5 / 20×20 / 100×100 只改参数
  • 四条实时调参路径按速度递进:重跑分析 → remake + solve(只更新变化参数后重解)→ SliderGrid 滑块网格 → ComputeGraph(Makie ComputePipeline 把文本框输入经依赖图接到求解器)
  • 域无关:同一套流程覆盖热(牛顿冷却)、机械(弹簧质量 / 受控振子)、电气(RC / RLC)、空间动力学(diffusion_2d / reaction_diffusion)
  • 可视化即交付:固定平面网格几何、每帧只更新顶点颜色,20×20 与 100×100 并排 3D mesh + 2D heatmap 动画
  • 进阶:ModelingToolkitInputs 让 PID 增益在运行时改变;DyadControlSystems 的 PID 自整定设计器可直接拉起

重构效果 · 模型改一个参数 → 秒级重解 → 动画刷新;扫参从“跑一批作业”变成“拖一个滑块”。

Makie 实时扫参remake + solveComputeGraph

十个案例的物理场景取自 Dyad 公开案例库(JuliaHub),重构方案由 FlyOntOS + ScienceML 实现。

Get Started

把你们的物理现场,写成可求解、可校准的方程

把物理现场变成可求解、可校准、可交付的方程。

十个案例的物理场景取自 Dyad 公开案例库(JuliaHub),重构方案由 FlyOntOS + ScienceML 实现。