Simcenter降阶建模工具允许使用降阶模型将高维系统表示为低维系统。目前支持多种降阶方法,每种方法都采用其独特方法构建适用于不同仿真类型的模型。
本教程将探索Simcenter降阶建模的重要概念与工作流程。案例所涉及的模型是一个高频高保真模型,用于表征四缸汽油发动机的空气动力学和燃烧物理特性。由于该模型提供曲轴角度精度,因此它能在极短时间内模拟结果。为缩短仿真时间,案例提供了平均值发动机模型,该模型计算每次发动机旋转的平均空气和燃烧行为,便于集成到整车模型中。
平均值发动机模型基于从四个输入变量(发动机转速、负荷、点火提前角和空燃比)在不同工况下的燃烧效率图创建而成。该模型输出三种效率:
-
容积效率,衡量气缸压缩气体的效果。 -
指示效率,对应曲轴上指示功率与燃烧可用能量之比。 -
排气效率,以燃料的低热值乘以燃料能量的净焓来度量。
这些效率对于辅助内燃机设计至关重要。随着发动机日益先进,排放法规愈发严格,设计工程师拥有能够精确且迅速模拟这些参数的工具显得尤为重要。本教程旨在通过四个输入变量构建一个静态模型,以生成三种效率。
输入文件分为训练集和验证集两部分。训练数据集用于建立简化阶模型的样本集合;而验证数据在模型构建过程中被排除,以便后续对模型拟合度进行无偏评估。
1 启动ROM项目并导入数据
Simcenter降阶建模功能允许根据输入数据的类型创建降阶模型,每种类型都有其特定的要求。本教程将使用.data文件创建一个静态样本
项目。
开始之前,建议创建一个工作目录。从[INSTALL]rombuilderdemostatic_samples
目录中复制源文件engine_mappingT.data
和engine_mapping_V.data
到工作目录中。
此ROM项目的首步是选择Static Samples
输入类型,并导入发动机效率.data
文件。这些文件包含了用于训练降阶模型的发动机效率参数。
-
启动Simcenter Reduced Order Modeling。从 File
菜单中选择New → New project
。
-
使用 File > Save as
将项目命名为demo_engine。
注:保存项目并非强制性要求,但建议进行此操作。Simcenter降阶建模会创建新项目并将其打开至
input
页面.”
-
在 input
页面,点击Add data
。
-
在文件浏览器中,将 File of type
过滤器更改为XY Table(*.data *.dat)
,并选择两个文件:engine_mapping_T.data
和engine_mapping_V.data
,然后点击Open
。
在inport data
对话框中,可以预览文件中所包含的数据列信息。其中, engine_mapping_T
包含15102个样本,而 engine_mapping_V
包含3352个样本;两者均含有7个变量。
-
点击 OK
按钮导入数据.
原始输入数据集被随机分为两部分。较大的数据集用于训练ROM模型,较小的数据集则用于后续验证ROM模型。验证过程至关重要,其确保了该模型能够处理与训练时不同的其他数据,并且依然能给出有效结果。
-
在Model input分组中,通过单选按钮将 engine_mapping_T
设为Training
,并将engine_mapping_V
设为Validation
。
2 构建与测试响应面模型
响应面模型用于通过多项式方程建模响应变量与一个或多个预测变量之间的关系。由于响应面模型采用回归分析拟合,这意味着RSM更适用于近似线性或多项式关系的情况。
在生成响应面之前,必须明确哪些变量是输入项,哪些是输出项。
-
进入 Model
选项卡,点击按钮Create Model > Response Surface Model
.
-
在 Model Inputs-Outputs
对话框中,指定engine speed [rpm], engine load, spark advance, air-fuel ratio (AFR)
为 Input ,指定Volumetric, Indicated, Exhaust efficiency
为 Output
2.1 使用Quadratic RSM方法
-
在 Model setup
面板中,将Response surface type
设为Quadratic RSM
。
-
在 Training
面板中,点击按钮Start fitting RSM Model
。此操作将启动响应曲面模型的拟合过程。
-
点击按钮 Save model
保存模型,并将模型命名为rsm_quad。
模型训练完毕后,可以查看响应面模型的保真度。
可以在右下角的Model Results
面板中看到总体结果输出,训练集和验证集的准确率均达到92%。体积效率和指示效率保证度分别为93%和96%,而排气效率的保真度指数较低,为88%。
可以选择图形窗口中的Output
下拉框中的变量查看各变量的保真度,如下所示为体积效率。
可以查看指示效率保真度。
排气效率保真度。
2.2 使用Cubic RSM方法
在验证了二次响应面法的结果后,现在采用三次响应面法再次进行分析将具有指导意义。
-
选择 Create Model > Response Surface Model
-
在 Model setup
面板中,将Response surface type
设为Cubic RSM
。
-
在 Training
面板中,点击按钮Start fitting RSM Model
。
训练结果如图所示。
cubic RSM在所有输出方面均提供了比二次RSM更高的保真度。
尽管三次响应面模型相较于二次响应面模型在拟合效果上有所提升,但通过启用最小尺寸选项的高阶响应面模型,仍可寻求更佳的拟合结果。当最小尺寸选项被激活时,ROM构建器会在设定的限制范围内找出最优的阶数和单项式组合以实现最高精度。
2.3 使用自定义模型
-
选择 Create Model > Response Surface Model
-
在 Model Setup
面板中指定Type
为 Custom… ,激活选项 Minimize mode size
-
点击 Setup
按钮打开设置对话框
-
在 Training
面板中,点击按钮Start fitting RSM Model
。
训练结果如图所示。
3 构建与测试神经网络
神经网络是一种适用于非线性关系的降阶建模灵活方法。输入数据通过执行数学运算的节点产生输出,激活函数引入非线性以捕捉这种关系,并通过迭代调整节点来最小化模型预测与验证数据之间的差异。
-
点击菜单 Create Model > Neural Network
.
-
输入输出变量定义如下图所示
-
设置 Model Setup
面板中的参数,如下图所示。点击按钮Apply Template...
打开设置对话框
-
选择模型复杂度为 Medium
-
在 Training
面板中,点击按钮 Start neural network training 开始神经网络训练
一个Epoch表示模型对整个数据集的一次完整迭代。在每个Epoch中,模型参数会根据预测输出与实际输出的对比进行更新。增加Epoch的数量有助于拟合过程收敛到更精确的解。如果在训练过程结束时,训练损失曲线仍在急剧下降,可以尝试增加Epoch的数量。在本教程中,训练损失曲线在150个Epoch后趋于平稳。需要注意的是,设置过高的Epoch会导致模型过拟合,即它虽然能很好地适应原始数据集,但在其他数据集上无法产生可靠结果;相反,设置过低的Epoch则会导致模型欠拟合,由于参数不足而未能捕捉到数据的特征或模式。
”
-
保存模型并将其命名为 net_med
.
训练和验证的保真度指标在两个参数上均提升至98.8%,从而更准确地反映了模型所用数据。先前的响应面模型中,排气效率范围为86.7%至96.1%,而今该指标达到98.7%,显示出与三种效率更高的相关性。
4 构建与测试高斯过程模型
高斯过程模型采用概率方法建模,通过捕捉输入与输出间的统计依赖关系,实现高精度的预测。由于该模型利用高斯分布和贝叶斯推断来估计其超参数,因此特别适用于系统分析。
-
选择 Create Model > Gaussian Process
-
输入输出变量选择如下图所示
-
指定 Kernel type
为 Auto
-
点击按钮 Start training 开始训练
模型保真度如下图所示。
结果与神经网络模型的保真度指数相似。由于数据点超过1000个,根据拟合方法的指示,采用了回归子集近似法。
-
保存模型 gp_auto
5 导出ROM
既然已拥有一系列简化模型,它们能很好地反映发动机效率,便可导出选定的模型。
-
切换至 Export
选项卡 -
如下图所示,选择想要导出的模型,并指定导出路径信息,点击按钮 Export models 即可导出模型
此时可以在Amesim中导入模型。
6 比较模型
-
右键选择模型树节点 Models
下的任意子节点,点击弹出菜单项 Information… 打开设置对话框
-
点开 Models
下拉框,如下图所示选择需要参与比较的模型
模型比较结果如图所示。
-
使用 Models
下拉列表选择要比较的模型,并使用Sorting
下拉列表选择Per validation fidelity
。
在保真度方面,神经网络模型现阶段是最佳选择,但训练速度最慢。高斯过程的平均准确率几乎相同,且训练速度快得多。在前两个输出上表现优于神经网络,而排气效率略逊一筹。
响应面法(RSM)表现相当不错且计算迅速。可以看到,经过尺寸最小化的高阶RSM仅有44个系数,少于普通二次RSM(45个系数)。这表明只需少数高次项即可最大化精度。
注:本文为Simcenter ROM的随机案例。
”
静态模型比较简单,属于典型的有监督学习模型,可以通过编程的方式很容易实现。Simcenter ROM中提供了神经网络、响应面以及高斯过程方法用于处理此类问题。用于此类方法的模型还有很多,比如支持向量机SVM,以及最近比较火的XGBoost,我个人比较喜欢使用支持向量机。
(完)
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册