# 02 · 系统架构与技术选型 ## 1. 分层架构 ![系统架构](assets/architecture.png) 系统分为六层,自下而上: ### L0 高保真真值层(Ground Truth) | 组件 | 说明 | | --- | --- | | Ansys Fluent | 高保真求解器:RANS(k-ε / k-ω SST)、URANS、LES/DES | | PyFluent | Python 驱动 Fluent,实现参数化建模、求解、后处理全自动化 | | 参数化几何 | 基于参数脚本的几何生成(翼型族、车体变体、管道变径) | | 边界条件库 | 入口速度/湍流度、出口压力、壁面函数等工况模板 | ### L1 数据与训练层 | 组件 | 说明 | | --- | --- | | 数据湖 | HDF5(训练样本)/ VTK(可视化)/ Zarr(云原生分块) | | 数据工程 | 网格插值统一、无量纲化、场归一化、增广(旋转/镜像/缩放) | | 训练框架 | PyTorch + AMP + DDP/FSDP,支持多卡与梯度检查点 | | 主动学习 | 基于预测不确定性挑选高价值工况回灌 Fluent 重算 | ### L2 AI 模型层 | 模型 | 定位 | 适用场景 | | --- | --- | --- | | FNO(傅里叶神经算子) | 主力基线 | 规则网格、2D/3D 流场、分辨率无关 | | DeepONet | 算子学习备选 | 低维参数空间、传感器布局优化 | | PINN | 物理约束补充 | 少数据/无数据工况、反问题 | | MeshGraphNet | 非结构网格 | 复杂几何、工业网格 | | Transformer 算子 | 长程依赖 | 大尺度湍流结构、长时推演 | ### L3 推理服务层 | 组件 | 说明 | | --- | --- | | 推理引擎 | TensorRT / ONNX Runtime,FP16/INT8 量化 | | 时间推进 | 自回归推演 + 潜空间动力学,支持变时间步 | | 后处理 | 散度修正(投影法)、守恒律校正、平滑滤波 | | 不确定性 | 深度集成(Deep Ensemble)/ MC-Dropout,输出置信区间 | | 服务接口 | gRPC(内部)+ WebSocket(前端流式推送) | ### L4 交互与渲染层 | 组件 | 说明 | | --- | --- | | 前端渲染 | WebGPU(three.js / VTK.js),支持体渲染、流线、矢量场 | | 参数控制 | 实时拖拽 Re/攻角/几何参数,防抖 + 插值过渡 | | 场景管理 | 视角预设、剖切面、等值面、动画时间轴 | ### L5 应用层 数字孪生监控、工程设计优化、教学演示、实时决策支持。 ## 2. 数据流 ``` 参数采样 ──► PyFluent 批量仿真 ──► 原始结果(VTK/CAS) ──► 数据工程(HDF5) ▲ │ │ ▼ 主动学习回灌 ◄── 不确定性评估 ◄── 模型评估 ◄── 训练(PyTorch) ◄── 训练集构建 │ ▼ 导出 ONNX ──► TensorRT 引擎 ──► 推理服务 │ ▼ WebSocket ──► WebGPU 前端实时渲染 ``` **关键数据契约:** | 阶段 | 格式 | 内容 | | --- | --- | --- | | 仿真输出 | .cas/.dat + .vtk | 网格 + 稳态/瞬态场(U, p, k, ω) | | 训练样本 | HDF5 | 输入参数 + 网格坐标 + 场量张量 + 元数据 | | 模型产物 | .pt → .onnx → .engine | 权重 + 归一化统计 + 版本信息 | | 服务响应 | 二进制帧 | 场量数组 + 时间戳 + 不确定性 | ## 3. 技术选型对比 ### 3.1 模型路线 | 方案 | 精度潜力 | 推理速度 | 数据需求 | 复杂几何 | 结论 | | --- | --- | --- | --- | --- | --- | | 传统降阶(POD-Galerkin) | 中 | 极快 | 中 | 差 | 作为基线对照 | | FNO | 高 | 快 | 中高 | 差(需规则网格) | **主力** | | DeepONet | 中高 | 快 | 中 | 中 | 备选 | | PINN | 中 | 慢(需重训) | 极低 | 中 | 物理约束模块 | | MeshGraphNet | 高 | 中 | 高 | **优** | 复杂几何阶段主力 | | Transformer 算子 | 高 | 中 | 极高 | 中 | 探索性 | ### 3.2 加速与部署 | 选项 | 收益 | 成本 | 结论 | | --- | --- | --- | --- | | ONNX Runtime | 跨平台、易部署 | 加速有限 | 开发期默认 | | TensorRT FP16 | 2-4x | 绑定 NVIDIA | **生产环境** | | TensorRT INT8 | 4-8x | 精度损失需校准 | 边缘部署评估 | | CUDA Graphs | 消除启动开销 | 实现复杂 | 小模型场景启用 | ### 3.3 可视化 | 选项 | 优势 | 劣势 | 结论 | | --- | --- | --- | --- | | VTK.js + WebGPU | 科学可视化生态完整 | 学习曲线陡 | **首选** | | three.js | 生态活跃、上手快 | 科学可视化组件少 | 轻量场景 | | ParaView Web | 功能最强 | 部署重 | 内部调试 | | Unity/UE | 渲染效果最好 | 工程链路重 | 演示视频 | ## 4. 工程规范 - **数据版本**:DVC 或 Git-LFS 管理数据集与模型产物; - **实验追踪**:MLflow / Weights & Biases 记录全部训练配置与指标; - **配置管理**:Hydra 管理实验配置,保证可复现; - **测试**:单元测试(数据管道、归一化、守恒校正)+ 回归测试(固定工况误差阈值); - **CI/CD**:模型训练与评估流水线化,指标不达标自动阻断发布。