1.本发明属于计算流体力学与人工智能交叉的领域,尤其涉及数据驱动的动边界流动流场重构方法、装置和存储介质。
背景技术:2.昆虫翅膀拍动或类鱼体游动等动边界流动问题是计算流体力学研究的热点,目前针对该类问题的求解主要基于传统cfd方法(如动网格方法)或新型数值方法(浸没边界方法、格子玻尔兹曼方法、光滑粒子水动力学方法等),这些方法都基于第一性原理,虽然能够准确求解动边界流动问题,但都存在计算时间长、效率低下的缺点,无法满足准实时计算的需求。近年来得益于人工智能和机器学习技术的快速发展,构建数据驱动的预测模型在保证计算准确性的同时显著减少计算时间成为一种流行的手段用以替代耗时的基于第一性原理的流动模型,其中数据驱动的流场快速重构模型目前主要针对静止物体的非定常流动,针对动边界流动问题的研究和应用还较少,而这类问题往往具有更为实际的应用场景(如仿生微型无人机、仿生水下航行器等),因此亟需针对这类流动问题构建出相应的数据驱动模型,快速准确地对相关流场信息进行重构和预测。
技术实现要素:3.发明目的:本发明的目的在于克服传统cfd方法在求解动边界流动问题时存在效率低下的缺点,提出了一种基于basnet的卷积神经网络预测方法,可快速准确地实现动边界流动流场的重构。神经网络的输入输出数据通过高保真浸没边界求解器获得,通过基于basnet的卷积神经网络建立输入和输出之间的映射关系,利用训练好的神经网络可根据任意时间序列下运动物体表面的压力快照以及运动物体形状和位置信息快速准确地实现相应的整个速度场的重构。
4.本发明具体提供了数据驱动的动边界流动流场重构方法,首先基于浸没边界求解器对动边界非定常流场仿真,获得不同雷诺数下的流场时间序列快照结果。然后将这些快照对应的物体表面压力,雷诺数,运动物体形状和位置信息作为输入,整个速度场作为输出。通过构建基于basnet的卷积神经网络建立输入和输出之间的映射关系。对神经网络进行训练并通过梯度下降算法调整优化超参数以最小化损失函数,得到满意的训练结果。最后使用训练好的模型对其他雷诺数下的动边界流动流场进行快速准确的重构。具体包括如下步骤:
5.步骤1:对物体的运动过程进行模拟,获取数值模拟数据:针对动边界流动问题,采用适用于此类问题的浸没边界方法进行求解,通过网格无关性的验证选取合适的网格尺度。采用针对二维问题的开源浸没边界求解器ib2d对物体的运动过程进行模拟,计算得到数值模拟数据,所述数值模拟数据包括不同雷诺数下运动物体在k(8《=k《=15)周期构成的时间序列下对应的真实物体表面压力分布,物体形状和位置信息,以及整个流体域的速度场数据。所述浸没边界求解器ib2d使用navier
–
stokes方程对物体的运动过程进行模拟,
如下所示:
[0006][0007][0008]
其中,位置矢量x=(x,y),时间t为自变量,x,y分别为计算网格的横坐标和纵坐标;u(x,t)=(u(x,t),v(x,t))是流体速度,u(x,t)为计算网格中横向速度大小,v(x,t)为计算网格中纵向速度大小;p(x,t)是压力,f(x,t)是在浸没边界上运动物体对流体施加的作用力,ρ代表流体的密度,μ代表动力粘度,代表哈密顿算子,δ代表拉普拉斯算子;代表时间t对流体速度u(x,t)的一阶偏导;
[0009]
运动物体与流体之间的相互作用方程为:
[0010]
f(x,t)=∫f(r,t)δ(x-x(r,t))dr
ꢀꢀ
(3)
[0011][0012]
其中,r是拉格朗日位置,x(r,t)是运动物体上位置为r的标记点在时间t的笛卡尔坐标,d表示微分;式(4)将边界速度u(x(r,t),t)设置为等于局部流体速度,以满足浸没结构上的无滑移条件;f(r,t)是浸没结构中弹性变形施加在流体上的每单位面积的力表示为:
[0013]
f(r,t)=f(x(r,t),t)
ꢀꢀ
(5)
[0014]
公式(3)、(4)中的函数δ如下所示:
[0015][0016]
其中,φ是δh(x)内嵌的一个函数,表示为:
[0017][0018]
其中,h为流体网格尺度。
[0019]
步骤1中所述物体具体是昆虫翅膀,在步骤1中,昆虫翅膀简化成了一条刚性线段,并绘制了昆虫翅膀的简化示意图,以及简化过后的运动过程示意图,能够得到昆虫翅膀表面采样点的压力分布,昆虫翅膀所在计算流域的速度场。然后对这个数据进行处理,步骤2~6得到的结果又是一套训练良好的神经网络,能够通过昆虫翅膀表面采样点的压力快速准确地重构任意雷诺数下昆虫翅所在流域的速度场,能够为仿昆虫翅的扑翼运动机械提供实时的周围流场信息反馈。
[0020]
步骤2:划分数据集。将30%的数值模拟数据作为测试集,用于评估训练好的模型的预测性能,将剩下的数据按照80%和20%的比例划分出神经网络的训练集和验证集,用作神经网络模型的训练。
[0021]
步骤3:构建输入输出矩阵。为了同时获取动边界流动流场的时间和空间信息,本发明设计了一种新型的输入矩阵。将某一时间序列下物体表面压力,雷诺数以及运动物体的几何和位置信息这些特征分别存储在三个大小相同的二维矩阵中,并通过叠加构成神经网络的输入矩阵x=[g
(9)
p
(9)
re
(9)
]。其中g
(9)
,p
(9)
,re
(9)
分别由s(s=x2,x≥3且x为整数)个连续时刻(选用t为第一个时刻,后每隔t/120选取一个时间,即t,t+t/120,t+2t/120
……
t+8t/120)对应的运动物体的几何与位置信息,物体表面的压力分布以及雷诺数组成。将下一时刻(即t+9/120t)整个流域的速度场存储在一个二维矩阵中,该矩阵即为输出矩阵。
[0022]
步骤4:进行数据预处理。对输入矩阵和输出矩阵进行归一化等操作。
[0023]
步骤5:构建深度学习网络。利用basnet卷积神经网络构建动边界流场重构的预测模型。首先,将输入矩阵和输出矩阵转化成图像,分别作为输入图像和输出图像。然后通过编码对输入图像的特征进行提取,利用池化方法得到提取出局部性信息的高层语义特征。为了进一步获取全局信息,在编码和解码之间增加了一个过渡层。后面的解码部分则负责将高层语义信息逐步还原放大,从而逐步重构出整个流域的速度场信息,最后将速度场信息转换成输出图像的大小。
[0024]
步骤6:进行模型训练与预测:设定epochs(1个epoch等于所有的训练数据输入到模型完整地训练一次)和batch(训练集分成的批次)的值,根据训练样本对所构建的流场重构模型进行训练。对超参数,激活函数优化得到最优的深度神经网络结构。利用训练所得最优神经网络对测试集中的流场进行预测,评估模型的预测性能。
[0025]
步骤2包括:将数值模拟数据中x1的数据作为测试集,剩下的数据中,x2的数据作为训练集,x3的数据作为验证集。
[0026]
步骤3包括:将一时间序列下真实物体表面压力分布,雷诺数以及物体形状和位置信息分别存储在三个大小相同的二维矩阵中,并通过叠加构成深度学习网络的输入矩阵x=[g
(9)
p
(9)
re
(9)
],其中矩阵g
(9)
,p
(9)
,re
(9)
分别由s个连续时刻对应的物体形状与位置信息,真实物体表面压力分布以及雷诺数组成;将下一时刻整个流域的速度场存储在一个二维矩阵中,该二维矩阵即为输出矩阵。
[0027]
步骤3中,矩阵g
(9)
,p
(9)
,re
(9)的
具体结构分别为:
[0028][0029][0030][0031]
在[t,t+8δt]区间中,δt代表时间间隔,gi表示t+iδt时刻代表物体形状和位置的二值矩阵,t为任意时间,i=0,1
……
,8,运动物体所在网格为1,其余流体区域均为0;pi代表t+iδt时刻运动物体表面取样点的压力快照所构成的对角矩阵,运动物体表面压力采样
点个数ni为pi的行数,且pi的列数也等于ni;rei代表t+iδt时刻流域的雷诺数。
[0032]
步骤4包括:
[0033]
采用如下公式对输入矩阵预处理:
[0034][0035]
x
ji
为第j时刻运动物体表面第i个压力采样点的压力值,0《=j《=k*t,x
min
为各样本中运动物体表面压力的最小值,x
max
为各样本中运动物体表面压力的最大值;为第j时刻运动物体表面第i个压力采样点归一化后的压力值;
[0036]
采用如下公式对输出矩阵预处理:
[0037][0038]
yi为计算流域中第i个网格点的流速,1《=i《=h*h,h为网格尺度;v为流场的特征速度,即物体运动最大速度;为计算流域中第i个网格点的无量纲流速。
[0039]
步骤5包括:将输入矩阵和输出矩阵转化成图像,分别作为深度学习网络输入和输出,然后通过encode层对输入图像的特征进行提取,利用pooling池化方法得到提取出局部特征的高层语义特征;在encode编码层和decode反编码层之间增加了一个bridge过渡层;通过decode部分将高层语义特征逐步还原放大,从而逐步重构流场图像,最后在resize整合层中将流场图像整合成输出图像大小。
[0040]
步骤6包括:设定epochs和batch的值,epochs表示向前和向后传播中所有批次的单次训练迭代次数,batch表示单次网络训练更新权重的次数,根据训练集对所构建的深度学习网络进行训练,深度学习网络运用均方差损失函数和随机梯度下降算法的自适应版本进行优化,损失函数j为:
[0041][0042]
其中,n为训练集中数据总个数,为步骤4所得训练集中第i个样本中预处理后流体仿真数据对应的流场重构结果,yi为步骤4所得训练集中第i个样本中预处理后流场结果。
[0043]
本发明还提供了数据驱动的动边界流动流场重构装置,包括:
[0044]
数据采集模块,用于对物体的运动过程进行模拟,获取数值模拟数据;
[0045]
数据划分模块,用于划分数据集;
[0046]
输入输出矩阵构建模块,用于构建输入输出矩阵;
[0047]
数据预处理模块,用于进行数据预处理;
[0048]
深度学习网络构建模块,用于构建深度学习网络;
[0049]
模型训练与预测模块,用于进行模型训练与预测。
[0050]
本发明还提供了一种存储介质,存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现所述的方法。
[0051]
有益效果:本发明为克服传统cfd方法求解动边界问题时效率低下的缺陷,提出了通过神经网络来重构动边界流动的流场。该方法能够从大量真实的动边界流动流场快照数据中学习总结规律,快速准确地重构出未知时刻的流场信息。与传统cfd方法相比,在保证结果可靠的同时大大减少了计算时间。
[0052]
流场重构一般采用传统的卷积神经网络,但是在动边界流动中所需构建的卷积神经网络过于复杂,容易产生过拟合。而basnet预测模块,采用encode-decode网络,能够同时获取高等级的全局信息和低等级的细节信息。每个decoder的最后一层都由真实值来监督,encoder的最后一层中利用残差模块,能够有效解决过拟合问题。
[0053]
结果表明,该流场重构方法在保证预测结果准确的基础上,计算时间相比传统cfd方法至少减少了一个量级,因此有望用于昆虫翅膀拍动或类鱼体游动问题的研究,具有一定的理论研究意义和实际应用价值。
附图说明
[0054]
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
[0055]
图1是发明总体流程图。
[0056]
图2是昆虫翅膀的简化示意图
[0057]
图3是简化昆虫翅膀在计算网格中的运动轨迹图
[0058]
图4是神经网络总体框架图。
[0059]
图5是神经网络结构图。
[0060]
图6a是conv_bn_relu(1)计算模块示意图。
[0061]
图6b是basicblock计算模块示意图
[0062]
图6c是“basicblock_downsample”计算模块示意图
[0063]
图6d是conv_bn_relu(2)计算模块示意图
[0064]
图7a是t+t/4时刻昆虫翅膀所在计算流域网格点上的真实与预测速度对比图。
[0065]
图7b是t+2t/4时刻昆虫翅膀所在计算流域网格点上的真实与预测速度对比图。
[0066]
图7c是t+3t/4时刻昆虫翅膀所在计算流域网格点上的真实与预测速度对比图。
[0067]
图7d是t+t时刻昆虫翅膀所在计算流域网格点上的真实与预测速度对比图。
[0068]
图8是一个周期内计算流域真实与预测速度分布的灰值图。
具体实施方式
[0069]
如图1所示,本发明提供了数据驱动的动边界流动流场重构方法,包括如下步骤:
[0070]
步骤1:针对本实施例的动边界流动问题,选用扑翼运动的典型案例昆虫翅膀的平移运动作为研究案例,采用适用于此类问题的浸没边界方法(ib2d)进行求解。ib2d使用navier
–
stokes方程对本实施例的二维流体动边界流动问题进行建模。
[0071][0072][0073]
其中,位置矢量x=(x,y),时间t为自变量,x,y分别为计算网格的横坐标和纵坐
标。u(x,t)=(u(x,t),v(x,t))是流体速度,u(x,t)为计算网格中横向速度大小,v(x,t)为计算网格中纵向速度大小。p(x,t)是压力,f(x,t)是在浸没边界上运动物体对流体施加的作用力,ρ代表流体的密度,μ代表动力粘度,代表哈密顿算子,δ代表拉普拉斯算子。代表时间t对流体速度u(x,t)的一阶偏导;方程(1)根据流体的动量守恒定律得到,方程(2)满足不可压条件。ib2d远场设置为周期性边界条件,流场计算区域为方形。
[0074]
运动物体与流体之间的相互作用方程为:
[0075]
f(x,t)=∫f(r,t)δ(x-x(r,t))dr
ꢀꢀ
(3)
[0076][0077]
其中,拉格朗日位置r与时间t为自变量,x(r,t)是运动物体上位置为r的标记点在时间t的笛卡尔坐标,d表示微分。式(4)将边界速度u(x(r,t),t)设置为等于局部流体速度,以满足浸没结构上的无滑移条件。f(r,t)是浸没结构中弹性变形施加在流体上的每单位面积的力。作为拉格朗日位置r和时间t的函数,可以表示为:
[0078]
f(r,t)=f(x(r,t),t)
ꢀꢀ
(5)
[0079]
下面为方程(3),(4)的δ函数:
[0080][0081]
其中,φ是δh(x)内嵌的一个函数,表示为:
[0082][0083]
其中,h为流体网格尺度。
[0084]
在浸没边界方法ib2d框架中,通过耦合求解方程(1)~(4)得到每个时刻流场的速度和压力值。
[0085]
通过网格无关性的验证选取合适的网格尺度,在本实施例中,选择512*512的网格作为计算网格。采用针对二维问题的开源浸没边界求解器ib2d对昆虫翅膀的平移运动过程进行模拟,昆虫翅膀的运动方程为正弦波函数其中t代表运动时间。在模拟仿真过程中,将昆虫翅膀简化为刚性线段,昆虫翅膀简化示意图如图2所示。线段长度为1m,倾角为45度。昆虫翅膀运动计算的网格,运动轨迹如图3。计算得到不同雷诺数下昆虫翅膀在10个周期构成的时间序列下对应的真实昆虫翅膀表面压力分布,昆虫翅膀形状和位置信息,以及昆虫翅膀所在流体域的速度场数据。
[0086]
步骤2:划分数据集。将30%的昆虫翅膀运动模拟数据作为测试集,用于评估训练好的模型的预测性能,将剩下的数据按照80%和20%的比例划分出神经网络的训练集和验证集,用作神经网络模型的训练。
[0087]
步骤3:构建输入输出矩阵。为了同时获取昆虫翅膀运动过程中周围流动流场的时间和空间信息,本发明设计了一种新型的输入矩阵。将某一时间序列下真实昆虫翅膀表面压力分布,雷诺数以及昆虫翅膀形状和位置信息这些特征分别存储在三个大小相同的二维矩阵中,并通过叠加构成神经网络的输入矩阵x=[g
(9)
,p
(9)
,re
(9)
]。其中g
(9)
,p
(9)
,re
(9)
分别由九个连续时刻(选取某时刻t为第一时刻,后每隔t/120选取一次时刻,即t+t/120,t+2t/120
……
t+8t/120)对应的昆虫翅膀形状与位置信息,真实昆虫翅膀表面压力分布以及雷诺数组成。将下一时刻(即t+9t/120)昆虫翅膀所在流域的速度场存储在一个二维矩阵中,该矩阵即为输出矩阵。
[0088]
矩阵g
(9)
,p
(9)
,re
(9)
的具体结构分别为:
[0089][0090][0091][0092]
在[t,t+8δt](t为任意时间)区间中,gi表示t+iδt时刻代表昆虫翅膀形状和位置的二值矩阵,i=0,1
……
,8,昆虫翅膀所在网格为1,其余流体区域均为0。在每个gi矩阵中,不同时刻的昆虫翅膀的位置信息不同,不同倾斜角的昆虫翅膀攻角不同。pi代表t+iδt(i=0,1
……
,8)时刻昆虫翅膀表面取样点的压力。由t+iδt时刻的压力快照所构成的对角矩阵,昆虫翅膀表面压力采样点个数ni为pi的行数和列数;rei代表t+iδt(i=0,1
……
,8)时刻流域的雷诺数。
[0093]
步骤4:数据预处理。对输入矩阵和输出矩阵进行归一化等操作。
[0094]
输入矩阵的预处理:
[0095][0096]
x
ji
为第j(0《=j《=10t)时刻昆虫翅膀表面第i(0《=i《=81)个压力采样点的压力值,x
min
为训练样本的压力最小值,x
max
为训练样本的压力最大值。为第j(0《=j《=10t)时刻昆虫翅膀表面第i(0《=i《=81)个压力采样点归一化后的压力值。
[0097]
输出矩阵的预处理:
[0098][0099]
yi为计算域中第i(1《=i《=7569)个网格点的流速,v为流场的特征速度,即为昆虫翅膀运动最大速度。为计算域中第i(1《=i《=7569)个网格点的无量纲流速。
[0100]
步骤5:构建深度学习网络。利用basnet深度卷积网络的预测模型搭建昆虫翅膀周
围流场重构神经网络。首先,将输入矩阵和输出矩阵转化成图像,分别作为深度学习网络输入和输出。然后通过encode层对输入图像的特征进行提取,利用pooling方法(池化方法)得到提取出局部性信息的高层语义特征。为了进一步获取全局信息,在encode和decode之间增加了一个bridge层。后面的decode部分则负责将高层语义信息逐步还原放大,从而逐步重构流场图像,最后在resize层中将流场图像整合成输出图像大小。深度学习网络整体框架如图4、图5所示。
[0101]
其中,encode部分有一个输入卷积层和6个由基本残差模块组成的编码层构成。输入卷积层和前4个编码层基本套用了resnet-34中的层,在之后增加了2个额外的编码层,输入卷积层包括了一个conv_bn_relu(1)计算模块,模块的算法流程图如图6a所示,矩阵a0进行一次2*2的卷积运算和一次batchnorm批量归一化处理得到矩阵a1。计算函数如式(13):
[0102]a′
=relu(batchnorm(conv2×
2,padding=(1,1)
(a)))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)
[0103]
其中a
′
为计算模块输出矩阵,a为计算模块输入矩阵,conv2×
2,padding=(1,1)
表示进行一次卷积核(kernel)为2*2的卷积运算,并采用padding=(1,1)的边缘填充,上下左右各填充一行或一列。batchnorm表示进行一次批量归一化,relu表示进行一次relu函数激活。
[0104]
encoder_1编码层由三个basicblock计算模块构成,模块的算法流程如图6b所示,计算模块函数如式(14):
[0105]a′
=batchnorm(conv3×
3,padding=(1,1)
(relu(batchnorm(conv2×
2,padding=(1,1)
(a)))))+a
ꢀꢀꢀꢀꢀ
(14)其中conv3×
3,padding=(1,1)
表示进行一次卷积核为3*3的卷积运算,并采用padding=(1,1)的边缘填充。a1通过encoder_1编码层后得到矩阵a2。
[0106]
矩阵a2通过encoder_2,encoder_3,encoder_4编码层得到a5矩阵。encoder_2,encoder_4均由一个basicblock_downsample和两个basicblock计算模块组成,encoder_3由一个basicblock_downsample和五个basicblock计算模块组成。
[0107]
basicblock_downsample计算模块流程图如图6c所示。计算函数如式(15):
[0108]a′
=batchnorm(conv3×
3,padding=(1,1)
(relu(batchnorm(conv3×
3,stride=2,padding=(1,1)
(a)))))+batchnorm(conv1×
1,stride=2
(a))
ꢀꢀ
(15)
[0109]
其中a'为计算模块输出矩阵,a为计算模块输入矩阵,conv3×
3,stride=2,padding=(1,1)
表示进行一次卷积核为3*3,运算步长(stride)为2的卷积运算,并采用padding=(1,1)的边缘填充。batchnorm表示进行一次批量归一化。relu表示进行一次relu函数激活。conv3×
3,padding=(1,1)
表示进行一次卷积核为3*3的卷积运算,并采用padding=(1,1)的边缘填充。conv1×
1,stride=2
表示进行一次卷积核为1*1,运算步长为2的卷积运算。
[0110]
encoder_5,econder_6均由一次池化核为2*2,计算步长为2的最大池化maxpool运算和两个basicblock计算模块构成。encoder_5,econder_6对a5矩阵处理后,得到矩阵b。
[0111]
bridge层由三个conv_bn_relu(2)计算模块组成,模块流程图如图6d所示,计算函数如式(16):
[0112]a′
=relu(batchnorm(conv3×
3,padding=(2,2),dilation=(2,2)
(a)))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)
[0113]
其中conv
(3
×
3),padding=(2
×
2),dilation=(2,2)
表示进行一次扩张卷积核为3*3,行和列扩张率(dilation)均为2的扩张卷积运算,并采用padding=(2,2)的边缘填充。
[0114]
decoder和encoder对称。解码层的输入都是前面编码层和上一层输出的相同维度
上采样特征图在第三维度叠加起来的,最终的输出的矩阵能够兼顾低级语义和高级语义的特征。
[0115]
bridge层的输出结果与矩阵b的叠加得到矩阵c6。c6通过decoder_6处理得到矩阵c5。decoder_6由一个conv_bn_relu(1)、两个conv_bn_relu(2)和一个行列放大倍数(scale_factor)均为2,上采样算法为bilinear的upsample上采样运算构成。a5与c5叠加所得矩阵通过decoder_5,decoder_4,decoder_3三层结构相同的解码层以及叠加处理后,得到矩阵c2。这三层矩阵均由三个conv_bn_relu(1)和一个放大倍数为2的upsample上采样运算构成,并选用bilinear上采样算法。最后通过decoder_2(包含三个conv_bn_relu(1)计算模块)和一个卷积核为3*3,边缘填充padding=(1,1)的卷积运算得到输出矩阵c0。
[0116]
步骤6:模型训练与预测:设定epochs(1个epoch等于所有的训练数据输入到模型完整地训练一次)和batch(训练集分成的批次)的值,根据训练样本对所构建的昆虫翅膀运动流场重构模型进行训练。本神经网络运用了均方差损失函数和随机梯度下降算法的自适应版本进行优化,损失函数为
[0117][0118]
其中,n为数据总个数,为步骤4所得网络模型训练数据集中第i个样本中预处理后流体仿真数据对应的流场重构结果,yi为步骤4所得网络模型训练数据集中第i个样本中预处理后流场结果。
[0119]
对超参数,激活函数优化得到最优的深度神经网络结构。
[0120]
结果表示:本发明采用雷诺数等于40,70,90,120,150作为训练组,雷诺数等于60,100作为测试组。训练神经网络,测试组的一个周期内昆虫翅膀所处流域真实与预测流场的速度分布图,灰值图像如图7a,图7b,图7c,图7d,图8所示。
[0121]
本发明通过昆虫翅膀表面采样点的压力快速准确地重构任意雷诺数下昆虫翅膀所在流域的速度场,能够为仿昆虫翅膀的扑翼运动机械提供实时的周围流场信息反馈。
[0122]
本发明提供了数据驱动的动边界流动流场重构方法、装置和存储介质,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
技术特征:1.数据驱动的动边界流动流场重构方法,其特征在于,包括以下步骤:步骤1,对物体的运动过程进行模拟,获取数值模拟数据;步骤2,划分数据集;步骤3,构建输入输出矩阵;步骤4,进行数据预处理;步骤5,构建深度学习网络;步骤6,进行模型训练与预测。2.根据权利要求1所述的方法,其特征在于,步骤1包括:采用针对二维问题的浸没边界求解器ib2d对物体的运动过程进行模拟,计算得到数值模拟数据,所述数值模拟数据包括不同雷诺数下运动物体在k周期构成的时间序列下对应的真实物体表面压力分布,物体形状和位置信息,以及整个流体域的速度场数据,所述浸没边界求解器ib2d使用navier
–
stokes方程对物体的运动过程进行模拟,如下所示:stokes方程对物体的运动过程进行模拟,如下所示:其中,位置矢量x=(x,y),时间t为自变量,x,y分别为计算网格的横坐标和纵坐标;u(x,t)=(u(x,t),v(x,t))是流体速度,u(x,t)为计算网格中横向速度大小,v(x,t)为计算网格中纵向速度大小;p(x,t)是压力,f(x,t)是在浸没边界上运动物体对流体施加的作用力,ρ代表流体的密度,μ代表动力粘度,代表哈密顿算子,δ代表拉普拉斯算子;代表时间t对流体速度u(x,t)的一阶偏导;运动物体与流体之间的相互作用方程为:f(x,t)=∫f(r,t)δ(x-x(r,t))dr
ꢀꢀ
(3)其中,r是拉格朗日位置,x(r,t)是运动物体上位置为r的标记点在时间t的笛卡尔坐标,d表示微分;式(4)将边界速度u(x(r,t),t)设置为等于局部流体速度,以满足浸没结构上的无滑移条件;f(r,t)是浸没结构中弹性变形施加在流体上的每单位面积的力表示为:f(r,t)=f(x(r,t),t)
ꢀꢀ
(5)公式(3)、(4)中的函数δ如下所示:其中,φ是δ
h
(x)内嵌的一个函数,表示为:
其中,h为流体网格尺度。3.根据权利要求2所述的方法,其特征在于,步骤2包括:将数值模拟数据中x1的数据作为测试集,剩下的数据中,x2的数据作为训练集,x3的数据作为验证集。4.根据权利要求3所述的方法,其特征在于,步骤3包括:将一时间序列下真实物体表面压力分布、雷诺数以及物体形状和位置信息分别存储在三个大小相同的二维矩阵中,并通过叠加构成深度学习网络的输入矩阵x=[g
(9)
p
(9)
re
(9)
],其中矩阵g
(9)
,p
(9)
,re
(9)
分别由s个连续时刻对应的物体形状与位置信息,真实物体表面压力分布以及雷诺数组成;将下一时刻整个流域的速度场存储在一个二维矩阵中,该二维矩阵即为输出矩阵。5.根据权利要求4所述的方法,其特征在于,步骤3中,矩阵g
(9)
,p
(9)
,re
(9)的
具体结构分别为:别为:别为:在[t,t+8δt]区间中,δt代表时间间隔,g
i
表示t+iδt时刻代表物体形状和位置的二值矩阵,t为任意时间,i=0,1
……
,8,运动物体所在网格为1,其余流体区域均为0;p
i
代表t+iδt时刻运动物体表面取样点的压力快照所构成的对角矩阵,运动物体表面压力采样点个数n
i
为p
i
的行数,且p
i
的列数也等于n
i
;re
i
代表t+iδt时刻流域的雷诺数。6.根据权利要求5所述的方法,其特征在于,步骤4包括:采用如下公式对输入矩阵预处理:x
ji
为第j时刻运动物体表面第i个压力采样点的压力值,0<=j<=k*t,x
min
为各样本中运动物体表面压力的最小值,x
max
为各样本中运动物体表面压力的最大值;为第j时刻运动物体表面第i个压力采样点归一化后的压力值;采用如下公式对输出矩阵预处理:y
i
为计算流域中第i个网格点的流速,1<=i<=h*h,h为网格尺度;v为流场的特征速度,即物体运动最大速度;y
inorm
为计算流域中第i个网格点的无量纲流速。7.根据权利要求6所述的方法,其特征在于,步骤5包括:将输入矩阵和输出矩阵转化成图像,分别作为深度学习网络输入和输出,然后通过encode层对输入图像的特征进行提取,
利用pooling池化方法得到提取出局部特征的高层语义特征;在encode编码层和decode反编码层之间增加了一个bridge过渡层;通过decode部分将高层语义特征逐步还原放大,从而逐步重构流场图像,最后在resize整合层中将流场图像整合成输出图像大小。8.根据权利要求7所述的方法,其特征在于,步骤6包括:设定epochs和batch的值,epochs表示向前和向后传播中所有批次的单次训练迭代次数,batch表示单次网络训练更新权重的次数,根据训练集对所构建的深度学习网络进行训练,深度学习网络运用均方差损失函数和随机梯度下降算法的自适应版本进行优化,损失函数j为:其中,n为训练集中数据总个数,为步骤4所得训练集中第i个样本中预处理后流体仿真数据对应的流场重构结果,y
i
为步骤4所得训练集中第i个样本中预处理后流场结果。9.数据驱动的动边界流动流场重构装置,其特征在于,包括:数据采集模块,用于对物体的运动过程进行模拟,获取数值模拟数据;数据划分模块,用于划分数据集;输入输出矩阵构建模块,用于构建输入输出矩阵;数据预处理模块,用于进行数据预处理;深度学习网络构建模块,用于构建深度学习网络;模型训练与预测模块,用于进行模型训练与预测。10.一种存储介质,其特征在于,存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现如权利要求1至8中任一项所述的方法。
技术总结本发明提供了数据驱动的动边界流动流场重构方法、装置和存储介质,所述包括以下步骤:步骤1,对物体的运动过程进行模拟,获取数值模拟数据;步骤2,划分数据集;步骤3,构建输入输出矩阵;步骤4,进行数据预处理;步骤5,构建深度学习网络;步骤6,进行模型训练与预测。本方法在保证预测结果准确的基础上,计算时间相比传统CFD方法至少减少了一个量级,在保证结果可靠的同时大大减少了计算时间。可靠的同时大大减少了计算时间。可靠的同时大大减少了计算时间。
技术研发人员:徐笳森 张扬
受保护的技术使用者:南京航空航天大学
技术研发日:2022.07.28
技术公布日:2022/12/5