我的知识平台

鏂版椂浠?CFD 浠跨湡宸ョ▼甯?路 鐭ヨ瘑绠$悊骞冲彴

CFD 仿真质量 AI 校验系统架构方案

2026-09-10
solving last-tended 2026-09-16
CFDAI 校验系统架构失真判定发散预警

项目进度

10%
已完成 10%
进行中 阶段1
待开始
1
度量层 MVP
2
表征入库
3
统计异常检测
4
LLM 综合判读
5
密度场预测

CFD 仿真质量 AI 校验系统架构方案

副标题:一次度量,多处消费(Measure Once, Consume Many) 定位:在仿真结果收敛的前提下,自动判断计算正确性的基础设施规划 版本:v0.1(草案)


1. 背景与问题定义

1.1 核心痛点

CFD 仿真中,“收敛"只是正确性的必要条件,而非充分条件。求解器残差达标后,结果仍可能因以下原因失真:

错误类别典型表现检测手段
假收敛残差达标但关键物理量仍在漂移监控量平台期判断
物理设置错误边界条件、湍流模型、物性参数不对守恒审计 + 物理直觉对质
网格引起的错误假扩散、数值振荡、关键区域欠解析散度 / y+ / 网格质量 + 网格无关性
数值病态非物理压力峰值、局部速度爆炸有界性检查(值域、极值定位)
结果"合理但错误”流场看着正常,量级/分布不对与基准数据/历史同类算例对比

1.2 核心命题

CFD 的各种智能化应用,差异不在数据管道,而在"对同一份度量结果问的问题不同"。

无论做失真判定、密度场预测还是发散预警,需要的基础操作高度一致——把一个仿真算例变成一组结构化的空间分布和时间序列。差异只出现在最后一公里:打什么标签、训什么目标、回答什么问题。


2. 总体架构:三段式结构

┌─────────────────────────────────────────────────────┐
│  第一段:度量层(MEASURE)—— 领域知识的沉淀地          │
│  统一读取结果/网格/日志 → 计算物理量算子                │
│  守恒通量 | 有界性 | 散度场 | 梯度场 | 误差指示子 | y+  │
│  残差历史 | 网格质量 | 积分量(阻力/总压损失/流量)      │
├─────────────────────────────────────────────────────┤
│  第二段:表征层(REPRESENT)—— 标准化的中间接口         │
│  算例指纹 = 特征向量 + 场分布 + 时序曲线                │
│  (按算例类型分类归档,形成"算例画像库")               │
├─────────────────────────────────────────────────────┤
│  第三段:消费层(CONSUME)—— 每个应用只是不同的问法     │
│  失真判定 | 密度场预测 | 发散预警 | (可继续扩展)       │
└─────────────────────────────────────────────────────┘

2.1 度量层(MEASURE)

职责:统一读取各类求解器的结果文件、网格文件、求解日志,计算标准化的物理量算子。

算子清单(首批)

  • 守恒审计:进出口质量/能量净不平衡(阈值 < 1%)
  • 有界性:温度/组分/湍流量是否出现负值或超物理值域
  • 连续性:全场 ∇·v 是否在容差内
  • 壁面 y+:是否落在所用湍流模型要求的区间
  • 双重收敛判定:残差 + 监控量平台期(波动 < ±0.5%)
  • 网格质量报告:skewness、非正交度、负体积
  • 残差历史时序、积分量(阻力系数、总压损失、流量)的时空统计

技术要点

  • 需先解决结果文件统一读取层(OpenFOAM / Fluent / 自研格式),这是全系统第一个技术风险点
  • 实现以 Python + PyVista 为主,脚本由 AI 辅助生成,领域规则由仿真经验定义
  • 输出统一格式的结构化"体检报告"(每项检查:通过/警告/失败 + 数值 + 定位)

2.2 表征层(REPRESENT)

职责:把度量层输出固化为标准化的"算例指纹",按算例类型(外流/内流/传热/多相等)分类归档,形成画像库。

指纹结构

  • 特征向量:积分量、场分布统计量(分位数、梯度分布、极值位置)
  • 场分布:关键物理量的空间分布切片
  • 时序曲线:残差历史、监控量历史

设计原则:表征入库是强制副产品——即使暂时没有应用消费它,也要存。标签的半衰期很长,是后续所有智能化的数据地基。

2.3 消费层(CONSUME)

三个首批应用,覆盖仿真全生命周期的质量管控点:

失真判定发散预警密度场预测
时间相位事后(结果出了)事中(求解进行时)事前(还没开始算)
输入表征结果场的度量分布残差/监控量的时序几何 + 边界条件的编码
问的问题“这个结果可信吗?”“它会发散吗?”“哪里该加密?”
标签从哪来人工判定 + 规则触发事后回看残差曲线度量层自动生成(粗细双算误差分布)
方法规则审计 + 画像偏离时序异常检测监督回归(几何→密度场)
对底座的依赖完全依赖完全依赖标签构造完全依赖

三个应用的技术分层(以失真判定为例):

  • L0 确定性物理审计:规则引擎,价值的 70%,最先实现,拦截大部分"收敛但错误"
  • L1 统计异常检测:按算例类型建"正常行为画像",Isolation Forest / One-Class SVM 打分
  • L2 基准对比:标准算例库自动比对(确证性证据,如圆柱绕流 St 数)、自动网格无关性(三级网格 + Richardson 外推)
  • LLM 综合判读:输入体检报告 + 异常分数 + 对比结果 + 云图,输出"可信度评级 + 疑点定位 + 建议动作"的人话版报告;判断规则由领域经验写入 prompt,人工抽检验收

3. 关键设计特性

3.1 不变性

度量层和表征层对所有应用共享,是一次性投入;消费层的每个应用都是轻量追加。底座贵,消费便宜——这是该架构在经济上成立的根本原因。

3.2 自洽闭环

密度场预测的标签本身就是度量层的输出:对历史算例做"粗细两遍求解",用度量算子算出误差空间分布,直接作为密度场训练标签(MeshingNet 方法)。底座不仅为应用提供推理时的输入,还为应用提供训练时的标签,无需额外数据来源。

3.3 渐进式智能化

同一"算例指纹"接口依次承载:

  1. 规则阶段:指纹直接过 if-else 审计(零训练数据)
  2. 统计阶段:指纹进异常检测模型(只需正常样本,约 50+ 算例)
  3. 监督阶段:指纹带标签进回归/分类(需标注数据)

接口不变,智能化程度递增——底座投入从第一天起不会作废。

3.4 全生命周期覆盖

事前(网格密度预测,防欠解析)→ 事中(发散预警,防白烧算力)→ 事后(失真判定,防错误结论出门)。三者合起来构成完整的仿真质量闭环,公共底座即"仿真质量数据中心"。


4. 数据飞轮

跑算例 → 度量层自动分析 → 结构化表征入库(副产品:标签自动沉淀)
   ↑                                          ↓
   └──── 优化建议回流(加密位置/参数调整)← 应用模型迭代
  • 每个新算例经底座分析后,表征自动入库
  • 人工只在判读环节做少量标注(LLM 辅助判读降低标注成本)
  • 数据积累反哺三个应用模型;应用模型反向产出优化建议,影响下一个算例
  • 底座是飞轮的轴,应用是飞轮的叶片——轴必须先立起来

5. 实施路线图

阶段周期内容验收标准
阶段一:度量层 MVP1~2 个月选 1 类最熟算例,固化手工检查项清单;AI 辅助写 Python 脚本(PyVista 读结果 → 算散度/守恒/极值 → 出 JSON 体检报告)跑通 20~30 个历史算例,人工核对报告靠谱率
阶段二:表征入库 + 标签积累2~3 个月每个跑过的算例打标签(正确/假收敛/网格问题/设置问题…),结构化沉淀建立带标签的历史算例库(可复用飞书表格做标签管理)
阶段三:统计异常检测按数据量触发同类型算例 50+ 后上 Isolation Forest画像偏离度打分与人工判断一致率达标
阶段四:LLM 综合判读迭代式报告 + 数据 + 云图喂给 LLM,人工验收判断质量,迭代 prompt判读结论可用率、误报/漏报率达标
阶段五:密度场预测(终局)依赖算例库多样性粗细双算自动造标签,训练几何→密度场模型前置网格预测接入实际前处理流程

6. 风险与边界

  1. 数据格式是第一个坑:不同求解器输出格式不统一,读取层需最先攻坚
  2. 不追求"全自动判对错":系统正确形态是"可信度分数 + 疑点清单",最终判断留给人——同时提高组织接受度
  3. 标签体系反向成为测试标准:缺陷分类学 + 重现条件 + 影响面标注,与测试资产化目标互相成就
  4. 密度场预测的适用边界:稳态、特征可预判的问题效果好;瞬态强非线性问题(涡脱落、转捩、燃烧)仍需在线自适应兜底,前置预测用于压缩在线加密面积,而非完全替代

7. 一句话总结

把"分析仿真结果"从每次应用时的临时动作,升级为一次性的基础设施投资——度量即资产,表征即接口,应用即消费。

项目文档

🔍

调研记录

0 篇

暂无内容

📋

需求文档

0 篇

暂无内容

🔧

进度日志

0 篇

暂无内容

🔄

复盘

0 篇

暂无内容