本发明专利技术公开了一种基于模态法的并行化高精度颤振计算方法,属于航空气动弹性领域。首先流场网格划分软件对飞行器的流场域进行网格划分,fluent软件输出翼面网格节点坐标、网格中心点坐标、面单元全局编号以及累加节点数到txt文件中,结构有限元软件输出结构有限元节点坐标及各阶模态位移。然后将各阶模态位移值插值到飞行器表面各网格节点上,读取各阶模态位移以及txt文件,计算整个机翼的广义气动力,并求解得到每阶模态广义位移和广义速度输出至txt文件,计算各网格中心点在飞行器表面的真实速度和位移。计算到终止时间步的各时间步的结构真实位移。监测给定位置的结构真实位移‑时间曲线,找到高精度颤振速度。本发明专利技术提高了计算速度,节约了计算成本。
【技术实现步骤摘要】
一种基于模态法的并行化高精度颤振计算方法
本专利技术属于航空气动弹性领域,涉及一种基于模态法的并行化高精度颤振计算方法。
技术介绍
颤振问题是气动弹性力学中的经典问题,也是飞行器设计人员普遍关注的一个问题:因为它严重的影响了飞行安全性,因此多数飞行器在气动与结构设计完成后都要进行颤振校核。工程中常用的颤振计算方法是基于面元法气动力的频域颤振计算方法,该方法对于结构和气动均为线性的航空器经典颤振问题具有普遍适用性;但是,对于实际工程中常出现的低雷诺数流动、强分离流动、含有化学反应及相变的流动以及跨声速流动等非线性流动现象,工程颤振计算方法预测不准确,需要基于高精度的计算流体力学(CFD)方法进行颤振计算。因此需要发展一种能够考虑非线性气动力的高效颤振计算方法。一种比较常见的解决思路是CFD/CSD(计算固体力学)耦合策略,在流固交界面处进行力和位移等信息交换,这种方法拥有较高的计算精度,但是计算成本很高,工程适用性差。另一种解决方法是利用等效降阶模型辨识任意工况下的非线性气动力,再利用辨识模型来预测气动力,进而求解颤振问题;这种方法需要大量的CFD数据样本来训练降阶模型,时间成本不可小觑。同时降阶模型在任意飞行工况下的范化能力有待考验。通常情况下,一个降阶模型只能对某些工况下的非线性气动力预测有较好的效果。
技术实现思路
本专利技术为了解决能够考虑气动力非线性,同时兼顾计算精度和计算效率的工程颤振计算的难题,提出了一种基于模态法的并行化高精度颤振计算方法。所述的颤振计算方法,具体步骤如下:步骤一、使用流场网格划分软件对飞行器的流场域进行网格划分,并在fluent软件输出翼面网格节点坐标、网格中心点坐标、面单元全局编号以及累加节点数到txt文件中。每个面单元都包括至少三个面网格节点和一个网格中心点。步骤二、在结构有限元软件中输出结构有限元节点坐标及各阶模态位移;步骤三、以并行方式运行fluent软件,通过薄板样条插值(TPS)方法将读取到的各阶模态位移值利用几何关系,插值到飞行器表面的各网格节点上,得到每个流场网格节点分别对应的各阶模态位移。步骤四、host节点读取每个网格中心点分别对应的各阶模态位移以及txt文件,并利用各分线程节点node计算各阶广义气动力之和,得到整个机翼的广义气动力。具体过程为:步骤401、针对并行方式进行的每个面单元,host节点读取各网格中心点对应的各阶模态位移并传递给各分线程节点node;各分线程节点node采用全局编号匹配搜索算法得到自身包含的所有网格中心点的各阶模态位移,具体过程如下:首先,将飞行器表面的所有面单元全局编号向量faceGlobalId,按照串行局部编号kserial排列;然后,利用udf函数库中将局部编号转化为全局编号的函数F_ID,循环遍历各线程节点node内的所有面单元的串行局部编号,返回对应的全局编号F_ID(kparallel,tf);接着,将各面单元内的全局编号F_ID(kparallel,tf)与向量faceGlobalId中存储的所有全局编号比对查找,当查找到相同的全局编号时,记录下该编号在向量faceGlobalId中出现的位置串行局部编号kserial,并记录下当前面单元在此节点node中的并行局部编号kparallel,构成一组字典键与值{kparallel:kserial}。最后,在进行广义气动力计算中,当计算出第kparallel个面单元的气动力时,将并行局部编号kparallel代入{kparallel:kserial}返回对应的串行局部编号kserial,得到翼面流体网格中心点第i阶模态向量φ(c),i(Nc×1)中的第kserial个模态值同理得到各网格中心点每阶的模态位移。步骤402、针对每个分线程节点node,该节点node调用自身包含的所有网格中心点的各阶模态值,分别乘以各网格中心点所在面单元的气动力得到该网格单元的各阶广义气动力,求和得到该节点node的各阶广义气动力之和;在使用密度基求解各网格中心点所在面单元的气动力时,具体过程如下:首先,飞行器表面的每个面单元对应一个体单元,获取各面单元的网格中心坐标以及体单元的网格中心坐标和压强。然后,针对每个体单元,分别求出体单元中心到各面单元中心的压力梯度,以及体中心到各面中心的坐标向量。最后,计算飞行器表面各面中心的压强值,乘以面单元的面积即为该面单元的气动力。步骤403、分支节点node0将并行方式进行的所有分线程节点node的气动力之和再次求和,得到各阶广义气动力之和。步骤404、将各阶广义气动力之和经分支节点node0,传输至host节点得到整个飞行器表面的广义气动力。步骤五、利用整个飞行器表面的广义气动力,在host节点中求解用户自定义函数中编写的广义气动弹性运动方程组,得到各网格中心点对应的每阶模态的广义位移和广义速度,host节点将当前时间步下的各阶模态的广义位移和广义速度输出至txt文件,并将其传输至各分线程节点node;步骤六、各分线程节点node执行户自定义函数:利用当前时间步下每阶模态的广义位移和广义速度,计算各网格中心点在飞行器表面的真实速度和位移;步骤七、各分线程节点node利用各网格中心点的真实位移,控制各网格中心点所在面单元上的所有飞行器表面网格节点移动,并利用真实速度更新网格中心点的速度边界条件,完成该时间步的求解计算。步骤八、判断求解计算是否到达终止时间步,如果是,进入步骤九,否则,返回步骤四;步骤九、通过host节点输出的各个时间步的广义位移和广义速度的txt文件以及步骤二得到的结构有限元节点坐标、各阶模态数据计算各时间步的结构真实位移;步骤十、监测不同来流速度下给定位置的结构真实位移-时间曲线,找到满足计算精度的颤振速度。本专利技术与现有技术相比,具有以下优势:(1)本专利技术一种基于模态法的并行化高精度颤振计算方法,通过在host节点向node节点传递数据的时候用到了全局编号匹配搜索技术,以及在用户自定义函数中编写广义气动弹性运动方程组;将结构方程求解过程写入用户自定义函数,避免了固体动力学方程求解,实现了在流体动力学软件中同时求解流场与结构动力学方程,进行时域颤振计算。大大提高了流固耦合计算速度,节约了计算成本。(2)本专利技术一种基于模态法的并行化高精度颤振计算方法,通过对方法进行并行化处理,使得方法可以支持多核并行计算,进一步提升了求解的计算速度。(3)本专利技术一种基于模态法的并行化高精度颤振计算方法,适用范围广,可以对不同速度(低速、跨音速以及超声速)范围下非线性气动力(跨声速、低雷诺数、大攻角等)参与的颤振问题进行求解。附图说明图1是本专利技术一种基于模态法的并行化高精度颤振计算方法的流程图;图2是本专利技术在一个时间步内并行化的流固耦合计算过程图;图3是本专利技术全局编号匹配搜索技术中不同编号方本文档来自技高网...
【技术保护点】
1.一种基于模态法的并行化高精度颤振计算方法,其特征在于,具体步骤如下:/n步骤一、使用流场网格划分软件对飞行器的流场域进行网格划分,并在fluent软件输出翼面网格节点坐标、网格中心点坐标、面单元全局编号以及累加节点数到txt文件中;/n每个面单元都包括至少三个面网格节点和一个网格中心点;/n步骤二、在结构有限元软件中输出结构有限元节点坐标及各阶模态位移;/n步骤三、以并行方式运行fluent软件,通过薄板样条插值方法将读取到的各阶模态位移值利用几何关系,插值到飞行器表面的各网格节点上,得到每个流场网格节点分别对应的各阶模态位移;/n步骤四、host节点读取每个网格中心点分别对应的各阶模态位移以及txt文件,并利用各分线程节点node计算各阶广义气动力之和,得到整个机翼的广义气动力;/n步骤五、利用整个飞行器表面的广义气动力,在host节点中求解用户自定义函数中编写的广义气动弹性运动方程组,得到各网格中心点对应的每阶模态的广义位移和广义速度,host节点将当前时间步下的各阶模态的广义位移和广义速度输出至txt文件,并将其传输至各分线程节点node;/n步骤六、各分线程节点node执行户自定义函数:利用当前时间步下每阶模态的广义位移和广义速度,计算各网格中心点在飞行器表面的真实速度和位移;/n步骤七、各分线程节点node利用各网格中心点的真实位移,控制各网格中心点所在面单元上的所有飞行器表面网格节点移动,并利用真实速度更新网格中心点的速度边界条件,完成该时间步的求解计算;/n步骤八、判断求解计算是否到达终止时间步,如果是,进入步骤九,否则,返回步骤四;/n步骤九、通过host节点输出的各个时间步的广义位移和广义速度的txt文件以及步骤二得到的结构有限元节点坐标、各阶模态数据计算各时间步的结构真实位移;/n步骤十、监测不同来流速度下给定位置的结构真实位移-时间曲线,找到满足计算精度的颤振速度。/n...
【技术特征摘要】
20200810 CN 20201079557521.一种基于模态法的并行化高精度颤振计算方法,其特征在于,具体步骤如下:
步骤一、使用流场网格划分软件对飞行器的流场域进行网格划分,并在fluent软件输出翼面网格节点坐标、网格中心点坐标、面单元全局编号以及累加节点数到txt文件中;
每个面单元都包括至少三个面网格节点和一个网格中心点;
步骤二、在结构有限元软件中输出结构有限元节点坐标及各阶模态位移;
步骤三、以并行方式运行fluent软件,通过薄板样条插值方法将读取到的各阶模态位移值利用几何关系,插值到飞行器表面的各网格节点上,得到每个流场网格节点分别对应的各阶模态位移;
步骤四、host节点读取每个网格中心点分别对应的各阶模态位移以及txt文件,并利用各分线程节点node计算各阶广义气动力之和,得到整个机翼的广义气动力;
步骤五、利用整个飞行器表面的广义气动力,在host节点中求解用户自定义函数中编写的广义气动弹性运动方程组,得到各网格中心点对应的每阶模态的广义位移和广义速度,host节点将当前时间步下的各阶模态的广义位移和广义速度输出至txt文件,并将其传输至各分线程节点node;
步骤六、各分线程节点node执行户自定义函数:利用当前时间步下每阶模态的广义位移和广义速度,计算各网格中心点在飞行器表面的真实速度和位移;
步骤七、各分线程节点node利用各网格中心点的真实位移,控制各网格中心点所在面单元上的所有飞行器表面网格节点移动,并利用真实速度更新网格中心点的速度边界条件,完成该时间步的求解计算;
步骤八、判断求解计算是否到达终止时间步,如果是,进入步骤九,否则,返回步骤四;
步骤九、通过host节点输出的各个时间步的广义位移和广义速度的txt文件以及步骤二得到的结构有限元节点坐标、各阶模态数据计算各时间步的结构真实位移;
步骤十、监测不同来流速度下给定位置的结构真实位移-时间曲线,找到满足计算精度的颤振速度。
2.如权利要求1所述的一种基于模态法的并行化高精度颤振计算方法,其特征在于,所述的步骤四具体过程为:
步骤401、针对并行方式进行的每个面单元,host节点读取各网格中心点对应的各阶模态位移并传递给各分线程节点node;
步骤402、针对每个分线程节点node,该节点node调用自...
【专利技术属性】
技术研发人员:戴玉婷,吴优,李永昌,杨超,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。