Files

106 lines
4.5 KiB
Markdown
Raw Permalink Normal View History

# 04 · 数据方案与 AI 模型
## 1. 数据工厂(Fluent → 数据集)
### 1.1 自动化链路
```
参数配置(YAML) → PyFluent 会话 → 几何/网格生成 → 求解设置 → 求解 → 场量导出(VTK/HDF5)
```
**关键工程点**
| 问题 | 方案 |
| --- | --- |
| 长时间批量运行 | 调度器 + 断点续跑 + 失败重试 + 日志追踪 |
| 网格不一致 | 参数化网格模板,统一拓扑或统一目标分辨率 |
| 收敛判据 | 残差 + 监测量(Cd/Cl/压降)双判据 |
| 异常剔除 | 收敛性、网格质量、物理合理性三重检查 |
| 存储 | HDF5 分块压缩(训练)+ VTK(可视化)双写 |
### 1.2 数据集设计
| 数据集 | 内容 | 规模(首期) | 用途 |
| --- | --- | --- | --- |
| D1 稳态 2D | 圆柱绕流,Re ∈ [50, 300] | ≥ 500 工况 | 场回归基线 |
| D2 瞬态 2D | 同上,20 组时间序列 | 20 × 500 帧 | 时间推进 |
| D3 稳态 3D | NACA 翼型族,Ma/攻角扫描 | ≥ 300 工况 | 3D 泛化 |
| D4 稳态 3D | Ahmed body 简化车体 | ≥ 100 工况 | 工业场景 |
| D5 FFU 洁净室 | 送风/回风/热源/尘源参数 | ≥ 200 工况 | 数字孪生 Demo |
**样本结构(HDF5)**
```
/sample_0001
├── inputs/ # Re, 攻角, 几何参数, 边界条件 (标量 + 小数组)
├── coords/ # 网格坐标 (N, 2/3)
├── fields/ # U(N,3), p(N), k(N), omega(N) ...
└── meta/ # 工况 ID, 求解器设置, 收敛残差
```
### 1.3 数据工程规范
- **无量纲化**:以特征长度/来流速度归一化,降低分布漂移;
- **场归一化**:逐通道 z-score 或 min-max,统计量随模型一起版本化;
- **增广**:旋转、镜像、缩放(仅限物理对称场景);
- **划分**:按参数区间外推划分(OOD 测试集),而非随机划分。
## 2. 模型选型
### 2.1 主力:FNO(傅里叶神经算子)
- **原理**:在频域做谱卷积,学习函数空间之间的映射,分辨率无关;
- **输入**:参数 + 坐标网格(或隐式网格);
- **输出**:场量(U, p, ...);
- **优势**:训练稳定、推理快、对规则网格精度高;
- **局限**:非结构网格需插值,复杂几何边界处理弱。
### 2.2 备选与补充
| 模型 | 何时用 | 关键点 |
| --- | --- | --- |
| DeepONet | FNO 精度不足时并行验证 | 分支/主干网络,适合低维参数 |
| PINN | 数据稀缺、反问题 | NS 残差直接进损失,训练慢 |
| MeshGraphNet | 复杂几何、非结构网格 | 图消息传递,几何泛化好 |
| Latent Dynamics | 长时推演加速 | 自编码器 + 潜空间时间推进 |
| Transformer 算子 | 大尺度长程依赖 | 数据需求大,探索性 |
### 2.3 物理约束(贯穿所有模型)
| 约束 | 形式 | 作用 |
| --- | --- | --- |
| 连续性 | ‖∇·u‖² 惩罚 | 抑制散度漂移 |
| 动量残差 | ‖∂u/∂t + (u·∇)u + ∇p/ρ - ν∇²u‖² | 物理一致性 |
| 边界条件 | 壁面/入口/出口损失项 | 边界精度 |
| 守恒校正 | 投影法后处理 | 硬约束兜底 |
| 频谱监督 | 涡量谱 / 能谱匹配 | 湍流结构保真 |
## 3. 训练策略
- **两阶段**:先纯数据预训练 → 再物理约束微调;
- **课程学习**:先稳态后瞬态,先低 Re 后高 Re;
- **长时推演**:教师强制 → 逐步放开自回归,配合 scheduled sampling;
- **分布式**:AMP + DDP,大模型用 FSDP + 梯度检查点;
- **实验管理**:Hydra 配置 + MLflow 指标追踪,全配置可复现。
## 4. 评估体系
| 维度 | 指标 | 目标 |
| --- | --- | --- |
| 场精度 | 相对 L2 误差(U, p) | < 5%(2D)/ < 8%(3D) |
| 结构精度 | 涡量谱、湍动能分布 | 谱斜率误差 < 10% |
| 积分量 | Cd / Cl / 压降 | 误差 < 5% |
| 稳定性 | 1000 步 rollout 发散率 | 0 发散 |
| 泛化 | OOD 参数区间误差退化 | < 2 倍 |
| 效率 | 单步延迟 / 加速比 | < 10 ms / > 1000x |
| 可信度 | 不确定性校准误差 | ECE < 0.1 |
## 5. 快速代理基线(已落地)
仓库内 `tools/ffu_surrogate.py` 提供了一条**不依赖训练**的快速代理基线:
- **方法**:1/3 分辨率网格上运行同一套 D2Q9 LBM,准稳态后双线性重建到全分辨率;
- **性能**:端到端 < 8 s(精细真值 76 s,加速 16-27x);
- **精度**:与精细解全场相关系数 速度 r=0.95 / 粒子 r=0.83 / 温度 r=0.68;
- **意义**:在 AI 模型成熟前先打通"快速出图 + 趋势验证"链路,同时作为 AI 模型的对照基线。