MOC Dataset
收藏资源简介:
一个基于物理信息机器学习的高性能一维气体动力学求解器,用于生成合成时间序列数据集,模拟气体管道压力和速度预测,以替代真实传感器数据,支持梯度提升、PINNs、FNOs等机器学习模型的训练。
A high-performance one-dimensional gas dynamics solver based on physics-informed machine learning. It is used to generate synthetic time-series datasets, simulate gas pipeline pressure and velocity prediction tasks to substitute real sensor data, and support the training of machine learning models such as Gradient Boosting, PINNs and FNOs.
数据集概述:MOC Dataset Generator — Physics-Informed ML Synthetic Data Engine
这是一个基于一维气体动力学求解器(MOC,特征线法)的物理信息机器学习(PIML)合成数据引擎,专门用于生成气体管道压力和速度的合成时间序列数据集,以解决工业预测分析中的数据冷启动问题。
核心功能与解决的问题
该工具旨在替代昂贵的传感器基础设施,通过物理模拟生成高保真合成数据,用于训练机器学习模型。当无法获取足够的地面真实数据时,该引擎可以生成物理有效的合成时间序列,使ML模型的训练成为可能。其生成的数据可用于以下下游ML任务:
- 压力波预测(模型:梯度提升、LSTM,目标变量:
P(x, t)) - 速度场代理建模(模型:FNO、DeepONet,目标变量:
u(x, t)) - 异常检测基线(模型:Isolation Forest、Autoencoder,目标变量:
ρ(x, t)偏差) - 气体损失估算(模型:XGBoost回归,目标变量:积分质量通量)
数据架构与生成流程
- MOC求解器引擎:根据配置(几何、时间步长、比热比、燃烧常数K)进行模拟。
- 特征工程:从求解器输出的解对象(
Solution)中提取特征。 - 结构化表格数据集:输出为内存中形状为
(n_timesteps × n_probes)的表格数据。 - 输出格式:最终保存为 CSV 或 Parquet 文件,供scikit-learn或PyTorch等ML框架使用。
数据集模式(Schema)
求解器输出的 Solution 对象包含以 [time_step, grid_point] 索引的二维数组。经过特征工程后,生成的表格数据集包含以下字段:
| 字段 | 描述 | 单位 |
|---|---|---|
P[t, x] |
网格点x、时间步t处的静态压力 | Pa |
u[t, x] |
流速 | m/s |
rho[t, x] |
气体密度 | kg/m³ |
a[t, x] |
声速 | m/s |
Ma[t, x] |
马赫数(由u/a导出) |
— |
dP_dt[t, x] |
压力时间导数(特征工程) | Pa/s |
dP_dx[t, x] |
压力空间梯度(特征工程) | Pa/m |
- 典型数据集大小:每次模拟运行约 50,000行 × 8个特征。
- 通过改变几何参数(如
tube_length、area_ratio、combustion energy)进行多次运行,可以生成丰富的多条件训练集。
物理背景
求解器基于一维非定常欧拉方程(无粘可压缩流),采用逆特征线法在固定矩形网格上求解。建模系统是一个无阀脉冲喷气发动机,由以下部分组成:气动阀 → 燃烧室(集总0D模型) → 共振管(可变截面A(x)) → 开放端(大气环境)。
- 关键物理参数:空间网格点数
n、共振管长度tube_length、截面函数area_profile、燃烧速率常数K_combustion、比热比gamma(默认1.4)。 - 物理升级(Rev 6):增加了可选的摩擦模型(
"none"、"quasi_steady"、"brunone")和热模型("none"、"isothermal"、"newtonian"),以及初始燃烧室过压比Pcc_ratio,扩展了生成数据的物理保真度,例如可用于模拟埋地管道或地上管道的热损失情况。
使用方法
- 运行求解器并生成图表:
python main.py --out moc_summary.png --with-geometry - 生成ML训练数据集:详细流程参见Jupyter Notebook文件
EDA_and_Data_Generation.ipynb,其中包含运行求解器、提取压力/速度时间序列、探索性数据分析(EDA)以及保存为CSV/Parquet的完整步骤。





