資源描述:
《基于哈希函數(shù)的有限元剛度矩陣組裝及儲存數(shù)據(jù)結(jié)構(gòu)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、基于哈希函數(shù)的有限元剛度矩陣組裝及儲存數(shù)據(jù)結(jié)構(gòu)摘要:在有限元程序中準(zhǔn)確快速的定位單元剛度矩陣中每一個元素在總剛矩陣中的位置對現(xiàn)代有限元程序運(yùn)行效率的高低起著關(guān)鍵作用。本文主要研究有限元方法中基于稀疏結(jié)構(gòu)的剛度矩陣組裝問題。研究表明采用哈希函數(shù)對剛度矩陣組裝比不采用該方法更能有效的組裝剛度矩陣,所用的時間是不采用哈希方法所用時間的四分之一到三分之一。關(guān)鍵詞:有限元剛度矩陣組裝稀疏矩陣哈希函數(shù)中圖分類號:O174文獻(xiàn)標(biāo)識碼:A1引言11由于有限元方法有著廣泛的工程應(yīng)用,因此對有限元方法的優(yōu)化在過去幾十年有著深入的研究。在有限元分析中,組裝單元剛度矩陣和線性方
2、程組求解在整個分析過程中同等重要。因此對有限元方法的改進(jìn)也主要集中在這兩個方面,即線性方程組解法的研究和剛度矩陣的組裝。線性方程組的求解涉及很多領(lǐng)域,其解法也日臻完善。然而剛度矩陣組裝為有限元分析特有的過程,與線性方程組求解相比,其研究相對較少。因此,通過改進(jìn)剛度矩陣組裝方法來提高有限元程序執(zhí)行效率,有很大的研究空間。本文主要研究剛度矩陣的組裝,并給出基于哈希函數(shù)的剛度矩陣組裝方法。由單元剛度矩陣組裝所形成的總剛矩陣是對稱稀疏矩陣。[[[1]I.Z.Reguly;M.B.Giles;FiniteElementAlgorithmsandDateStruct
3、ureonGraphicalProcessingUnits[J].InternationalJournalofParallelProgramming,Springer,2013.]]因此利用總剛矩陣的稀疏性和對稱性對剛度矩陣的組裝和存儲方案進(jìn)行優(yōu)化。目前組裝單元剛度矩陣主要按以下三個步驟實施。第一,選擇稀疏矩陣存儲方案并建立稀疏矩陣結(jié)構(gòu);第二,根據(jù)查詢單元剛度矩陣中每個元素不同的指標(biāo)來定位該元素在總剛矩陣的位置;第三,循環(huán)遍歷每個單元,在每個單元矩陣中,把具有與總剛矩陣相同行列指標(biāo)的元素加到總剛矩陣對應(yīng)行列指標(biāo)的位置,完成剛度矩陣的組裝。盡管剛度矩陣的組
4、裝過程不算復(fù)雜,但是必須花費大量的時間去查找單元剛度矩陣中的每個元素在總剛矩陣中的對應(yīng)位置,很大程度上影響有限元程序執(zhí)行效率。提高查詢效率可以采取提高計算機(jī)硬件性能的辦法,近期有很多學(xué)者采用多核并行計算的方法來提高查詢和運(yùn)算效率。[[[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]]但在這些論文中并沒有涉及對剛度矩陣組裝的稀疏方法的改進(jìn),它們所采用的剛度矩陣組裝方法仍然是遍歷行列指標(biāo)查找的傳統(tǒng)方法。再者,計算機(jī)硬件性能也不可能無限度的提高。因此,本文采用建立哈希表
7、的方法查找單元剛度矩陣元素并確定其在總剛矩陣中的位置。通過算例驗證,采用建立哈希表的方法定位單元剛度矩陣元素并組裝單元剛度矩陣所花費的時間是采用循環(huán)遍歷查找方法所花費時間的四分之一到三分之一。顯著的提高了剛度矩陣的組裝效率。2稀疏矩陣存儲數(shù)據(jù)結(jié)構(gòu)下的數(shù)據(jù)查詢及單元剛度矩陣組裝11在有限元分析過程中,一旦我們將結(jié)構(gòu)離散化處理之后,即對單元和節(jié)點進(jìn)行編號后,就確定結(jié)構(gòu)的總剛矩陣結(jié)構(gòu)。首先,我們選擇恰當(dāng)?shù)南∈杈仃噧Υ娣桨附⑾∈杈仃噧Υ娼Y(jié)構(gòu),然后根據(jù)所建立的稀疏矩陣存儲結(jié)構(gòu)對單元剛度矩陣中的元素進(jìn)行查詢和計算,最后完成總體剛度矩陣的組裝。常用的稀疏矩陣存儲結(jié)構(gòu)
8、有坐標(biāo)型方案(Coordinate,COO)、按行壓縮型方案(Compresse