【技术实现步骤摘要】
面向GPU和神经网络的网格质量检测方法
本专利技术属于网格质量检测方法,具体涉及一种面向GPU和神经网络的网格质量检测方法。
技术介绍
数值计算是求解航空航天领域复杂气动力、热问题的主要研究手段,为飞行器气动研究过程提供了真实飞行参数条件下的气动数据。随着计算能力的提升,数值计算技术已贯穿于飞行器设计的全过程并发挥着越来越重要的作用,是航空航天事业发展的重要技术基础和支撑。数值计算的第一步是生成计算网格,即将连续的计算域划分为网格单元。所得到的计算网格由众多网格单元组成,是整个数值计算的基础和前提,计算网格质量的好坏直接影响计算结果的准确性和收敛性。随着所求解的问题规模、飞行器几何外型越来越复杂,现有的网格生成算法很难直接生成符合高精度计算要求的高质量网格。因此在工程实践中,通常会在计算前使用网格质量检测方法对计算网格的质量进行检测,以此保证计算结果的有效性,避免无效的计算,提高数值计算效率。传统网格质量检测方法的检测核心是分析组成计算网格的所有网格单元的几何形状信息,其检测步骤分布两步:第一步利用部 ...
【技术保护点】
1.一种面向GPU和神经网络的网格质量检测方法,其特征在于包括以下步骤:/n第一步、搭建基于神经网络的网格质量检测系统,基于神经网络的网格质量检测系统由网格处理模块、4个特征提取模块、3个压缩模块、分类模块、结果分析模块组成;4个特征提取模块、3个压缩模块、分类模块部署在GPU上,网格处理模块、结果分析模块部署在CPU上;/nCPU端的网格处理模块从文件读入网格,将网格转化为适用于神经网络训练的输入特征矩阵,将输入特征矩阵发送给GPU端的特征提取模块;/n第一特征提取模块、第二特征提取模块、第三特征提取模块均是由2个卷积层组成的神经网络;第一特征提取模块与第一压缩模块相连, ...
【技术特征摘要】
1.一种面向GPU和神经网络的网格质量检测方法,其特征在于包括以下步骤:
第一步、搭建基于神经网络的网格质量检测系统,基于神经网络的网格质量检测系统由网格处理模块、4个特征提取模块、3个压缩模块、分类模块、结果分析模块组成;4个特征提取模块、3个压缩模块、分类模块部署在GPU上,网格处理模块、结果分析模块部署在CPU上;
CPU端的网格处理模块从文件读入网格,将网格转化为适用于神经网络训练的输入特征矩阵,将输入特征矩阵发送给GPU端的特征提取模块;
第一特征提取模块、第二特征提取模块、第三特征提取模块均是由2个卷积层组成的神经网络;第一特征提取模块与第一压缩模块相连,负责从输入特征矩阵中提取与计算结果精度相关的第一高维特征,将第一高维特征发送给第一压缩模块;
第一压缩模块、第二压缩模块、第三压缩模块均是由最大池化层构成的神经网络;第一压缩模块负责连接第一特征提取模块和第二特征提取模块;第一压缩模块从第一特征提取模块接收第一高维特征,对第一高维特征维度进行压缩,将压缩后的第一高维特征输出给第二特征提取模块;
第二特征提取模块与第一压缩模块、第二压缩模块相连,负责从压缩后的第一高维特征中提取与计算结果精度相关的第二高维特征,将第二高维特征发送给第二压缩模块;
第二压缩模块从第二特征提取模块接收第二高维特征,对第二高维特征的特征维度进行压缩,将压缩后的第二高维特征发送给第三特征提取模块;
第三特征提取模块与第二压缩模块、第三压缩模块相连,负责从压缩后的第二高维特征中提取与计算结果精度相关的第三高维特征,将第三高维特征发送给第三压缩模块;
第三压缩模块从第三特征提取模块接收第三高维特征,对第三高维特征维度进行压缩,将压缩后的第三高维特征发送给第四特征提取模块;
第四特征提取模块是由四个卷积层组成的神经网络;第四特征提取模块与第三压缩模块、分类模块相连,负责从压缩后的第三高维特征中提取与计算结果精度相关的第四高维特征,将第四高维特征发送给分类模块;
分类模块是由一个卷积层、一个全局池化层和一个Softmax层构成的神经网络;分类模块从第四特征提取模块接收第四高维特征,对第四高维特征进行分类,得到分类结果,将分类结果发送给结果分析模块;
结果分析模块接收分类模块输出的分类结果,对分类结果进行分析,输出计算网格的质量检测结果;
第二步,构建训练数据集,方法是:
2.1设置训练数据库的预期规模N,N为正整数;
2.2根据飞行器的外形参数,绘制飞行器的几何外形,并将绘制好的外形导入Gmsh网格生成软件;
2.3设置Gmsh网格生成软件中的网格参数,生成不同质量的计算网格;
2.4根据网格参数,用Gmsh网格软件生成计算网格,并将该套计算网格放到训练数据集中作为训练数据集中的一个网格样本;
2.5若训练数据集中的网格样本数少于N,转2.2;若生成的网格数量等于N,转2.6;
2.6对训练数据集中的N个网格样本进行标注,具体步骤如下:
2.6.1初始化i=1;
2.6.2将训练数据集中的第i套网格导入Fluent求解器中进行数值计算,设置Fluent迭代次数Ep,Ep为正整数,记录计算结果,方法是:
2.6.2.1初始化j=1,初始化第i组计算结果数组Ri为空;
2.6.2.2Fluent求解器进行数值计算,令第i套网格的第j轮计算结果为rij,并将rij放到计算结果数组Ri中;
2.6.2.3j=j+1,若j<Ep,转2.6.2.2,否则转2.6.3;
2.6.3分析Ri,根据Ri对计算网格进行标注,方法是:
2.6.3.1若Ri数组收敛即计算结果随着j的变大逐渐趋近某一固定值且最后两轮的计算结果即ri,Ep-1和ri,Ep之差小于等于10-6,则将第i套网格标注为“高质量网格”,转2.6.4,否则转2.6.3.2;
2.6.3.2若Ri收敛但ri,Ep-1和ri,Ep之差大于10-6,则将第i套网格标注为“网格光滑性差”,转2.6.4,否则转2.6.3.3;
2.6.3.3若Ri不收敛,则将第i套网格标注为“网格分布不合理”,转2.6.4;
2.6.4令i=i+1,若i<N,转2.6.2,否则转第三步;
第三步,采用训练数据集对基于神经网络的网格质量检测系统进行训练,方法是:
3.1部署在CPU端的网格处理模块对训练数据集中的网格进行量化和预处理,方法是:
3.1.1初始化变量i=1;
3.1.2采用输入特征矩阵构建方法为训练数据集构建输入特征矩阵,方法是:
3.1.2.1采用x方向边长提取方法提取第i套网格样本内所有网格单元x方向边长,得到x方向边长特征数组Feature_x:
3.1.2.1.1初始化变量m为0,初始化网格单元x方向特征数组Feature_x为空,Feature_x中有M个元素,M为组成计算网格中的网格单元个数;
3.1.2.1.2提取网格单元的x方向边长,将第m个网格单元的x方向边长的值写入x方向边长特征数组Feature_x,记为Feature_x[m];
3.1.2.1.3m=m+1,若m<M,转3.1.2.1.2,否则转3.1.2.2;
3.1.2.2采用y方向边长提取方法提取第i套网格样本内所有网格单元y方向边长,得到y方向边长特征数组Feature_y:
3.1.2.2.1初始化变量m为0,初始化网格单元y方向特征数组Feature_y为空,Feature_y数组中也有M个元素;
3.1.2.2.2提取网格单元的y方向边长,将第m个网格单元的y方向边长的值写入Feature_y数组,记为Feature_y[m];
3.1.2.2.3m=m+1,若m<M,转3.1.2.2.2,否则转3.1.2.3;
3.1.2.3采用最大内角角度提取方法提取第i套网格样本内所有网格单元最大内角角度,得到最大内角角度特征数组Feature_angle:
3.1.2.3.1初始化变量m为0,初始化网格单元最大内角角度特征数组Feature_angle为空,Feature_angle数组中有M个元素;
3.1.2.3.2提取网格单元的最大内角角度,将第m个网格单元的最大内角角度的值写入为Feature_angle数组,记为Feature_angle[m];
3.1.2.3.3m=m+1,若m<M,转3.1.2.3.2,否则转3.1.3;
3.1.3对数组Feature_x,Feature_y和Feature_angle进行数据预处理,得到预处理后的数组Feature_X,Feature_Y和Feature_Angle,方法是:
3.1.3.1计算数组Feature_x中M个元素的均值和方差σx,计算数组Feature_y中M个元素的均值和方差σy,计算数组Feature_angle中M个元素的均值和方差σangle;
3.1.3.2对Feature_x进行预处理,方法是:将Feature_x中的M个元素均按以下公式进行变换:其中,Feature_X[m]为预处理后的Feature_X数组中的第m个元素;
3.1.3.3对Feature_y进行预处理,方法是:将Feature_y中的M个元素...
【专利技术属性】
技术研发人员:刘杰,陈新海,龚春叶,迟利华,刘金宝,杨博,甘新标,李胜国,陈旭光,肖调杰,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。