基于ai的cfd模型降阶技术

,

降阶模型 ROM

降阶模型ROM(Reduced Order Models)是一种对高保真度静态或动态模型的简化方法。模型降阶在保留了模型的基本特性与主导效应的同时,大大减少复杂模型的CPU计算时间及存储空间。

ROM的用途:

  • 加速大规模系统的仿真速度

  • 将ROM运行在硬件在环环境

  • 数字孪生(Digital Twins)

降阶方法:


romAI 介绍

romAI是集成在Altair系统控制模块Activate和可视化编程模块Compose的模型降阶工具,用于加速大模型的预测、系统集成和实时控制。

romAI基于多层感知机技术(Multilayer Perceptron, MLP),因此,从本质上讲,它在内部生成输入和输出之间的映射。这种映射的质量将取决于一些因素,例如训练样本的质量和数量,超参数的选择(神经网络隐藏层数或激活函数等等),以及可用于训练样本的时间。

romAI基于数据驱动,给定一个任意物理问题,使用任意软件建模。使用过程非常简单:

  1. 读入训练样本*.csv,样本由输入、输出和系统状态组成。样本可以来自仿真结果或实验测试。

  2. 根据这些数据和选定的超参数训练神经网络。

  3. 训练好的ROM可以应用于Activate进行系统级仿真,或通过FMI接口部署在其他的系统。

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输出:出口空气温度

romAI完成降阶后,再用一组新的数据进行验证:


验证新数据:发热功率曲线


出口空气温度预测


案例2:电磁阀CFD模型降阶

电磁阀是一个简单的开/关阀。它是两个基本功能单元的组合:电磁铁和包含一个或多个孔的阀体。当电磁阀通电或断电时,流经孔口的流量由阀芯的运动控制。

640
电磁阀原理


电磁阀受力分析

查表法生成静态ROM

训练样本来自AcuSolve的12个稳态工况,流量:0.225kg/s, 0.5 kg/s, 0.7 kg/s;阀门开度:1mm, 2mm, 3mm, 4mm。


CFD计算参数表


CFD结果:不同阀门开度下,流量-压差曲线


CFD结果:不同阀门开度下,液力-压差曲线


AcuSolve阀门稳态流场


Activate的阀门系统建模

动态ROM

训练样本来自AcuSolve的4个瞬态工况:入口压力=2bar, 4bar;阀门开启时间10毫秒,100毫秒。

  • romAI的3个输入参数:阀芯位置,运动速度,上下游压差

  • 1个输出变量:流量和阀芯的液力

  • 1个状态参数:流量


romAI参数定义


动态ROM的输入,输出和状态参数

640 (1)
瞬态CFD动画:入口2bar, 阀门开启100毫秒


瞬态CFD监测变量曲线

验证工况:入口压力3bar,阀门50毫秒开启时间。动态ROM预测精度最大误差<10%。


红色-CFD仿真数据,蓝色-romAI预测数据


阀门动态ROM用于Activate系统仿真


案例3:电池包CFD模型降阶

训练样本来自AcuSolve的3个瞬态工况。

  • romAI的2个输入参数:电流,对流换热系数

  • 3个输出参数和状态变量:监测点的温度

640 (2)
AcuSolve电池包液冷模型


电池包的动态ROM


蓝色-CFD仿真数据,红色-romAI预测数据

电池动态ROM部署在Activate的新能源车系统仿真模型:


案例4:齿轮箱CFD模型降阶

训练样本来自nanoFluidX(基于SPH算法)齿轮箱搅油模型,共计算5个瞬态工况作为训练样本和一个瞬态工况作为验证样本。每个工况须采用2块GPU计算8小时。

  • romAI的2个输入参数:输入轴转速和润滑油体积

  • 1个输出参数和状态变量:齿轮表面的平均对流换热系数HTC


nanoFluidX仿真生成训练样本

640 (3)
齿轮箱搅油瞬态动画


nanoFluidX 模型工况参数表


5个训练样本

齿轮箱动态ROM的精度验证





蓝色-CFD仿真数据,红色-romAI预测数据

齿轮箱动态ROM应用于Activate热系统仿真,快速预测不同运行工况下的齿轮箱温度。


案例5:挖土机离散元EDEM模型降阶

挖掘机的仿真采用了4个求解器的耦合:

  • 离散元模块EDEM,模拟颗粒(石块)

  • 多体动力学MotionSolve,模拟挖斗、机械臂和车辆的运动

  • 固体力学模块OptiStruct,模拟铲车臂的应力应变

  • 系统控制模块Activate,模型降阶和耦合控制

共计算5个工况作为romAI的训练样本:

  • 6个输入参数:挖斗的水平位移,垂直位移,角度,以及水平速度,垂直速度,角速度
    image

  • 4个输出参数:
    image

  • 挖斗在XYZ方向的受力和挖斗内颗粒的总质量

  • 1个状态变量:挖斗内的颗粒总质量
    image

romAI的训练样本



动态ROM的精度验证


红色-EDEM耦合仿真数据,蓝色-romAI预测数据

Activate部署动态ROM进行耦合仿真


动态ROM作为EDEM求解器的代理模型参与耦合仿真

通过模型降阶,EDEM耦合仿真效率提升了34倍。

640 (4)
EDEM挖掘过程仿真

液压力分析对比

动态ROM的最大误差<1.4%。

640 (5)
左(动态ROM),右(耦合仿真)

挖斗臂的受力分析对比

动态ROM的最大误差<1.3%。

640 (6)
上(动态ROM),下(耦合仿真)


总结

romAI无需采用传统的DOE方法,采用较少的训练样本即可预测模型的整个运行工况区间。这对计算资源消耗大的CFD仿真有工程实用价值。

romAI目前并不生成2D/3D云图,可以用于模型多工况的降阶。但如果系统设计发生了变化(比如冷却系统的风扇从轴流变成了离心),需要重新生成样本和训练样本。

训练样本的数据最好能覆盖整个运行工况的极大/小值范围,虽然romAI可以预测样本范围外的工况,但是那些未知区域如果也呈现高度非线性,预测可能产生偏差。

对于高度非线性的系统,动态ROM精度有可能不太理想。这是因为在估计一种状态时,一个非常小的误差,通常与其他状态耦合,随着时间的推移,很容易导致解的背离,我们需要更多的输入“形状”。永远记住,我们从数据中学习非线性!

1 Like

这个教程真不错!

1 Like