资源描述:
《基于哈希函数的有限元刚度矩阵组装及储存数据结构》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于哈希函数的有限元刚度矩阵组装及储存数据结构摘要:在有限元程序中准确快速的定位单元刚度矩阵中每一个元素在总刚矩阵中的位置对现代有限元程序运行效率的高低起着关键作用。本文主要研究有限元方法中基于稀疏结构的刚度矩阵组装问题。研究表明采用哈希函数对刚度矩阵组装比不采用该方法更能有效的组装刚度矩阵,所用的时间是不采用哈希方法所用时间的四分之一到三分之一。关键词:有限元刚度矩阵组装稀疏矩阵哈希函数中图分类号:O174文献标识码:A1引言11由于有限元方法有着广泛的工程应用,因此对有限元方法的优化在过去几十年有着深入的研究。在有限元分析中,组装单元刚度矩阵和线性方
2、程组求解在整个分析过程中同等重要。因此对有限元方法的改进也主要集中在这两个方面,即线性方程组解法的研究和刚度矩阵的组装。线性方程组的求解涉及很多领域,其解法也日臻完善。然而刚度矩阵组装为有限元分析特有的过程,与线性方程组求解相比,其研究相对较少。因此,通过改进刚度矩阵组装方法来提高有限元程序执行效率,有很大的研究空间。本文主要研究刚度矩阵的组装,并给出基于哈希函数的刚度矩阵组装方法。由单元刚度矩阵组装所形成的总刚矩阵是对称稀疏矩阵。[[[1]I.Z.Reguly;M.B.Giles;FiniteElementAlgorithmsandDateStruct
3、ureonGraphicalProcessingUnits[J].InternationalJournalofParallelProgramming,Springer,2013.]]因此利用总刚矩阵的稀疏性和对称性对刚度矩阵的组装和存储方案进行优化。目前组装单元刚度矩阵主要按以下三个步骤实施。第一,选择稀疏矩阵存储方案并建立稀疏矩阵结构;第二,根据查询单元刚度矩阵中每个元素不同的指标来定位该元素在总刚矩阵的位置;第三,循环遍历每个单元,在每个单元矩阵中,把具有与总刚矩阵相同行列指标的元素加到总刚矩阵对应行列指标的位置,完成刚度矩阵的组装。尽管刚度矩阵的组
4、装过程不算复杂,但是必须花费大量的时间去查找单元刚度矩阵中的每个元素在总刚矩阵中的对应位置,很大程度上影响有限元程序执行效率。提高查询效率可以采取提高计算机硬件性能的办法,近期有很多学者采用多核并行计算的方法来提高查询和运算效率。[[[2]Bolz,J.,Farmer,I.,Grinspun,E.,Schroder,P;SparsematrixsolversonGPU:Conjugategradientsandmultigrid.[J]ACMTransacationson11Graphics,2003.],[[3]Komatitsch,D.,Micha,
5、D.,Erlebacher,G.;Portingahigh-orderfinite-elementearthquakemodelingapplicationtoNVIDAgraphicscarsusingCUDA.[J]JournalofParallelandDistributedComputing.2009],[[4]Komastisch,D.,Goddeke,D.,Erlebacher,G.,Michea,D.;Modelingthepropagationofelasticwavesusingspectralelementsonclusterof19
6、2GPUs.[J]ComputerScienceResearchandDevelopment,2010],[[5]Flaig,C.,Arbenz,P.;Ascalablememoryefficientmultigridsolverformicro-finiteelementanalysesbasedonCTimages.[J]ParallelComputing.2011]]但在这些论文中并没有涉及对刚度矩阵组装的稀疏方法的改进,它们所采用的刚度矩阵组装方法仍然是遍历行列指标查找的传统方法。再者,计算机硬件性能也不可能无限度的提高。因此,本文采用建立哈希表
7、的方法查找单元刚度矩阵元素并确定其在总刚矩阵中的位置。通过算例验证,采用建立哈希表的方法定位单元刚度矩阵元素并组装单元刚度矩阵所花费的时间是采用循环遍历查找方法所花费时间的四分之一到三分之一。显著的提高了刚度矩阵的组装效率。2稀疏矩阵存储数据结构下的数据查询及单元刚度矩阵组装11在有限元分析过程中,一旦我们将结构离散化处理之后,即对单元和节点进行编号后,就确定结构的总刚矩阵结构。首先,我们选择恰当的稀疏矩阵储存方案建立稀疏矩阵储存结构,然后根据所建立的稀疏矩阵存储结构对单元刚度矩阵中的元素进行查询和计算,最后完成总体刚度矩阵的组装。常用的稀疏矩阵存储结构
8、有坐标型方案(Coordinate,COO)、按行压缩型方案(Compresse