降阶模型 ROM
降阶模型ROM(Reduced Order Models)是一种对高保真度静态或动态模型的简化方法。模型降阶在保留了模型的基本特性与主导效应的同时,大大减少复杂模型的CPU计算时间及存储空间。
ROM的用途:
加速大规模系统的仿真速度
将ROM运行在硬件在环环境
数字孪生 Digital twins
降阶方法:
静态:曲线、曲面拟合,查表法
动态: 通过一个高保真度模型来生成样本,机器学习算法训练样本模型
romAI 介绍
romAI是集成在 Altair 系统控制模块Activate和可视化编程模块Compose的模型降阶工具,用于加速大模型的预测,系统集成和实时控制。
romAI基于多层感知机技术Multilayer Perceptron (MLP),因此,从本质上讲,它在内部生成输入和输出之间的映射。这种映射的质量将取决于一些因素,例如训练样本的质量和数量,超参数的选择(神经网络隐藏层数或激活函数等等),以及可用于训练样本的时间。
romAI基于数据驱动,给定一个任意物理问题,使用任意软件建模。使用过程非常简单:首先,读入训练样本*csv,样本由输入、输出和系统状态组成。样本可以来自仿真结果或实验测试。然后根据这些数据和选定的超参数训练神经网络。训练好的ROM可以应用于Activate进行系统级仿真, 或通过FMI接口部署在其他的系统。
romAI 操作演示
romAI 使用流程
案例1:CFD管路模型降阶
打开Activate模块,在Demo Browser目录下找到 romAI → nolinear → cfd_heated_pipe,这是一个简单的CFD管路加热模型,包含了一个输入变量:固体的发热功率Pel;一个输出变量:管路出口空气温度Tout;以及一个状态变量:固体的表面温度The
Activate中的CFD模型降阶例题
训练样本的数据来自AcuSolve的三维瞬态CFD仿真,CFD模型的时间步长为0.01秒,物理时间32秒,迭代3200步。
训练样本
CFD输入:固体发热功率
CFD输出:固体温度
CFD输出:出口空气温度
romAI完成降阶后,再用一组新的数据进行验证
验证新数据:发热功率曲线
出口空气温度预测
案例2:电磁阀CFD模型降阶
电磁阀是一个简单的开/关阀。它是两个基本功能单元的组合:电磁铁和包含一个或多个孔的阀体。当电磁阀通电或断电时,流经孔口的流量由阀芯的运动控制。
电磁阀原理
电磁阀受力分析
查表法生成静态ROM
训练样本来自AcuSolve的12个稳态工况,流量:0.225kg/s, 0.5 kg/s, 0.7 kg/s;阀门开度:1mm, 2 mm, 3 mm, 4 mm
CFD计算参数表
CFD结果:不同阀门开度下,流量-压差曲线
CFD结果:不同阀门开度下,液力-压差曲线
AcuSolve阀门稳态流场
Activate的阀门系统建模
动态ROM
训练样本来自acuSolve的的4个瞬态工况:入口压力=2bar,4bar; 阀门开启时间10毫秒,100毫秒。
romAI的3个输入参数:阀芯位置,运动速度,上下游压差;1个输出变量:流量和阀芯的液力;1个状态参数:流量
romAI参数定义
动态ROM的输入,输出和状态参数
瞬态CFD动画:入口2bar, 阀门开启100毫秒
瞬态CFD监测变量曲线
验证工况:入口压力3bar,阀门50毫秒开启时间。动态ROM预测精度最大误差<10%
红色-CFD仿真数据
蓝色-romAI预测数据
阀门动态ROM用于Activate系统仿真
案例3:电池包CFD模型降阶
训练样本来自AcuSolve的3个瞬态工况
romAI的2个输入参数:电流,对流换热系数;3个输出参数和状态变量:监测点的温度
AcuSolve电池包液冷模型
电池包的动态ROM
蓝色-CFD仿真数据
红色-romAI预测数据
电芯热模型的降阶:
电池动态ROM部署在Activate的新能源车系统仿真模型:
案例4:齿轮箱CFD模型降阶
训练样本来自nanoFluidX( 基于SPH算法)齿轮箱搅油模型,共计算5个瞬态工况作为训练样本和一个瞬态工况作为验证样本。每个工况须采用2块GPU计算8小时。
romAI的2个输入参数:输入轴转速和润滑油体积;1个输出参数和状态变量:齿轮表面的平均对流换热系数HTC。
nanoFluidX仿真生成训练样本
齿轮箱搅油瞬态动画
nanoFluidX 模型工况参数表
5个训练样本
齿轮箱动态ROM的精度验证
蓝色-CFD仿真数据
红色-romAI预测数据
齿轮箱动态ROM应用于Activate热系统仿真,快速预测不同运行工况下的齿轮箱温度。
案例5:挖土机离散元EDEM模型降阶
挖掘机的仿真采用了4个求解器的耦合:
离散元模块EDEM,模拟颗粒(石块);
多体动力学MotionSolve,模拟挖斗、机械臂和车辆的运动;
固体力学模块OptiStruct,模拟铲车臂的应力应变;
系统控制模块Activate,模型降阶和耦合控制。
共计算5个工况作为romAI的训练样本:
6个输入参数:挖斗的水平位移,垂直位移,角度,以及水平速度,垂直速度,角速度;
4个输出参数:
挖斗在XYZ方向的受力和挖斗内颗粒的总质量;
1个状态变量 :挖斗内的颗粒总质量。
romAI的训练样本:
动态ROM的精度验证
红色-EDEM耦合仿真数据
蓝色-romAI预测数据
Activate部署动态ROM进行耦合仿真
动态ROM作为EDEM求解器的代理模型参与耦合仿真
通过模型降阶,EDEM耦合仿真效率提升了34倍。
EDEM挖掘过程仿真
液压力分析对比,动态ROM的最大误差<1.4%
左(动态ROM),右(耦合仿真)
挖斗臂的受力分析对比,动态ROM的最大误差<1.3%。
上(动态ROM),下(耦合仿真)
总 结
romAI无需采用传统的DOE方法,采用较少的训练样本即可预测模型的整个运行工况区间。这对计算资源消耗大的CFD仿真有工程实用价值。
romAI目前并不生成2D/3D云图,可以用于模型多工况的降阶。但如果系统设计发生了变化(比如冷却系统的风扇从轴流变成了离心),需要重新生成样本,和训练样本。
训练样本的数据最好能覆盖整个运行工况的极大/小值的范围,虽然romAI可以预测样本范围外的工况,但是那些未知区域如果也呈现高度非线性,预测可能产生偏差。
对于高度非线性的系统,动态ROM精度有可能不太理想。这是因为在估计一种状态时,一个非常小的误差,通常与其他状态耦合,随着时间的推移,很容易导致解的背离,我们需要更多的输入“形状”。永远记住,我们从数据中学习非线性!