System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及机械工程,尤其涉及一种刚度矩阵存储方法、装置、计算机设备及存储介质。
技术介绍
1、在固体火箭发动机特性分析的有限元模拟计算过程中,网格是形成刚度矩阵的关键。总体刚度矩阵的规模与网格点的个数和各网格点的自由度相关。在总体刚度矩阵形成的过程中,首先根据网格单元与物理方程的特点形成单元刚度矩阵,然后遍历单元,将单元刚度矩阵上同自由度位置的值累加,形成总体刚度矩阵,最后可以对总体刚度矩阵进行存储。
2、目前,主要通过对总体刚度矩阵带状化后进行存储,但该现有的带状化方式并不能有效找到最小带宽,导致在存储时浪费储存空间。
技术实现思路
1、本申请提出了一种刚度矩阵存储方法、装置、计算机设备及存储介质,缩小总体刚度矩阵中的带宽,从而有利于最小化存储空间。
2、第一方面,提供了一种刚度矩阵存储方法,包括:
3、获取固体火箭发动机中目标结构区域的总体刚度矩阵;
4、基于所述总体刚度矩阵的非零元素和节点编号确定所述总体刚度矩阵的无向图;
5、基于所述无向图的边和顶点之间的连接关系建立单元列表;
6、基于所述单元列表生成所述目标区域结构的单元拓扑结构;
7、对所述单元拓扑结构进行分层,得到多个单元分层结构;
8、对所述单元分层结构进行叠层排序,得到单元序列;
9、基于所述单元序列对所述总体刚度矩阵进行带状化,得到带状化刚度矩阵;
10、基于半带宽存储法存储所述带状化刚度
11、第二方面,提供了一种刚度矩阵存储装置,包括:
12、获取模块,用于获取固体火箭发动机中目标结构区域的总体刚度矩阵;
13、确定模块,用于基于所述总体刚度矩阵的非零元素和节点编号确定所述总体刚度矩阵的无向图;
14、建立模块,用于基于所述无向图的边和顶点之间的连接关系建立单元列表;
15、生成模块,用于基于所述单元列表生成所述目标区域结构的单元拓扑结构;
16、分层模块,用于对所述单元拓扑结构进行分层,得到多个单元分层结构;
17、排序模块,用于对所述单元分层结构进行叠层排序,得到单元序列;
18、带状化模块,用于基于所述单元序列对所述总体刚度矩阵进行带状化,得到带状化刚度矩阵;
19、存储模块,用于基于半带宽存储法存储所述带状化刚度矩阵。
20、可选地,在本申请的一些实施例中,所述分层模块包括:
21、第一计算子模块,用于计算所述单元拓扑结构中各单元之间的距离数据;
22、确定子模块,用于确定所述距离数据中最大距离对应的所述单元为伪周边单元;
23、分层子模块,用于以所述伪周边单元为起点,基于所述距离数据,对所述单元拓扑结构进行分层,得到多个所述单元分层结构。
24、可选地,在本申请的一些实施例中,所述计算子模块包括:
25、第一确定单元,用于确定所述单元拓扑结构中每个顶点的度;
26、比较单元,用于对各所述度进行比较,得到最小度;
27、第二确定单元,用于将所述最小度对应的所述顶点所在的单元作为起始单元;寻找单元,用于以所述起始单元为起点,逐步寻找所述起始单元的相邻单元,并标记所述相邻单元与所述起始单元的之间的距离,直至所述距离不再增大为止,得到所述距离数据。
28、可选地,在本申请的一些实施例中,所述排序模块包括:
29、第一排序子模块,用于对各所述单元分层结构进行叠层排序,得到每个单元分层结构的单元数;
30、第二排序子模块,用于若所述单元分层结构中的单元数大于预设数值,则采用递归形式,对所述单元分层结构中的子拓扑结构进行分层排序,直至所述单元分层结构中的单元数等于所述预设数值为止,得到所述单元叠层排序结果;
31、基于所述单元叠层排序结果对各所述单元进行排序,得到单元序列。
32、可选地,在本申请的一些实施例中,所述带状化模块包括:
33、第三排序子模块,用于基于所述单元序列对所述单元拓扑结构中各个单元进行分层排序,得到矩阵元素序列;
34、带状化子模块,用于基于所述矩阵元素序列和矩阵元素原始序列,对所述总体刚度矩阵进行带状化,得到所述带状化刚度矩阵。
35、可选地,在本申请的一些实施例中,所述第三排序子模块包括:
36、第三确定单元,用于基于所述单元序列,确定每个所述单元的最大单元序号;
37、第一排序单元,用于基于每个所述最大单元序号对其对应的所述单元进行排序,得到矩阵元素分层;
38、第四确定单元,用于确定每个所述矩阵元素分层的最小单元序号;
39、第二排序单元,用于基于每个所述最小单元序号对各所述矩阵元素分层进行排序,得到所述矩阵元素序列。
40、可选地,在本申请的一些实施例中,所述生成模块包括:
41、第二计算子模块,用于计算所述单元列表中每两个单元之间的距离;
42、生成子模块,用于根据各所述距离,生成所述单元拓扑结构。
43、第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述刚度矩阵存储方法的步骤。
44、第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述刚度矩阵存储方法的步骤。
45、本申请提供一种刚度矩阵存储方法、装置、计算机设备及存储介质,通过获取固体火箭发动机中目标结构区域的总体刚度矩阵;基于所述总体刚度矩阵的非零元素和节点编号确定所述总体刚度矩阵的无向图;基于所述无向图的边和顶点之间的连接关系建立单元列表;基于所述单元列表生成所述目标区域结构的单元拓扑结构;对所述单元拓扑结构进行分层,得到多个单元分层结构;对所述单元分层结构进行叠层排序,得到单元序列;基于所述单元序列对所述总体刚度矩阵进行带状化,得到带状化刚度矩阵;基于半带宽存储法存储所述带状化刚度矩阵。在本申请提供的刚度矩阵存储方案中,通过将总体刚度矩阵转换成无向图,对无向图的单元拓扑结构分层后进行叠层排序,得到单元序列,而后,基于单元序列,对总体刚度矩阵进行带状化后采用半带宽存储法进行存储,可以通过初等行列变换的方式对总体刚度矩阵进行带状化,以达到带状存储的目的。可见,通过将总体刚度矩阵转换成无向图,对无向图的单元拓扑结构分层后进行叠层排序,然后对总体刚度矩阵进行带状化后采用半带宽存储法进行存储,即通过对无向图的单元拓扑结构进行叠层排序,最大限度地实现任意维度的无向图分层,从而最大限度地避免了总体刚度矩阵的局部带宽无法实现最优的问题,有利于最小化存储空间。
本文档来自技高网...【技术保护点】
1.一种刚度矩阵存储方法,其特征在于,包括:
2.根据权利要求1所述的刚度矩阵存储方法,其特征在于,所述对所述单元拓扑结构进行分层,得到多个单元分层结构,包括:
3.根据权利要求2所述的刚度矩阵存储方法,其特征在于,所述计算所述单元拓扑结构中各单元之间的距离数据,包括:
4.根据权利要求1所述的刚度矩阵存储方法,其特征在于,所述对所述单元分层结构进行叠层排序,得到单元序列,包括:
5.根据权利要求1所述的刚度矩阵存储方法,其特征在于,所述基于所述单元序列对所述总体刚度矩阵进行带状化,得到带状化刚度矩阵,包括:
6.根据权利要求5所述的刚度矩阵存储方法,其特征在于,所述基于所述单元序列对所述单元拓扑结构中各个单元进行分层排序,得到矩阵元素序列,包括:
7.根据权利要求1所述的刚度矩阵存储方法,其特征在于,所述基于所述单元列表,生成所述目标区域结构的单元拓扑结构,包括:
8.一种刚度矩阵存储装置,其特征在于,包括:
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述刚度矩阵存储方法的步骤。
...【技术特征摘要】
1.一种刚度矩阵存储方法,其特征在于,包括:
2.根据权利要求1所述的刚度矩阵存储方法,其特征在于,所述对所述单元拓扑结构进行分层,得到多个单元分层结构,包括:
3.根据权利要求2所述的刚度矩阵存储方法,其特征在于,所述计算所述单元拓扑结构中各单元之间的距离数据,包括:
4.根据权利要求1所述的刚度矩阵存储方法,其特征在于,所述对所述单元分层结构进行叠层排序,得到单元序列,包括:
5.根据权利要求1所述的刚度矩阵存储方法,其特征在于,所述基于所述单元序列对所述总体刚度矩阵进行带状化,得到带状化刚度矩阵,包括:
6.根据权利要求5所述的刚度矩阵存储方法,其特征在于,所述基于所述单元...
【专利技术属性】
技术研发人员:郝辉,强洪夫,李雪瑞,王学仁,戴陈超,李剑,刘新国,苗鹤洋,
申请(专利权)人:中国人民解放军火箭军工程大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。