資源描述:
《基于細(xì)胞稀疏存貯方案的有限元?jiǎng)偠染仃嚱M裝》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、http://www.paper.edu.cn1基于細(xì)胞稀疏存貯方案的有限元?jiǎng)偠染仃嚱M裝11陳璞,陳斌1北京大學(xué)力學(xué)與工程科學(xué)系,北京(100871)E-mail:chenpu@pku.edu.cn摘要:在現(xiàn)代有限元分析的直接解法和迭代解法中都需要組裝剛度矩陣。本文在[1,2]的基礎(chǔ)上,敘述了兩種基于細(xì)胞稀疏存貯方案有限元的符號(hào)剛度矩陣的組裝方法。在與傳統(tǒng)的方法進(jìn)行了比較的基礎(chǔ)上,提出了改進(jìn)效率的方法。關(guān)鍵詞:有限元分析稀疏矩陣高性能計(jì)算中圖分類號(hào):O241.821.引言近年來,稀疏解法逐漸替代了帶寬解法與變帶寬解法,成為了有限元分析中首選的直接[1,2,3
2、]解法。不同于帶寬解法或變帶寬解存貯方案,稀疏解法要求建立符號(hào)矩陣(symbolicmatrix),它是總體剛度矩陣對(duì)應(yīng)的Bool值矩陣。剛度矩陣中的非零元在Bool值矩陣為1,其余則為0。在用圖討論矩陣運(yùn)算時(shí)符號(hào)矩陣又稱為鄰接圖(adjacentgraph)。在稀疏解法中符號(hào)矩陣涉及幾乎所有的步驟,如:符號(hào)組裝;填充元優(yōu)化;符號(hào)分解;(數(shù)值)剛度矩陣的組裝;數(shù)值分解;消元與回帶等。因此,減小符號(hào)矩陣的大小在稀疏解法中具有十分重要的意義。[5]傳統(tǒng)的稀疏符號(hào)矩陣的組裝方法直接采用了基于方程的數(shù)據(jù)結(jié)構(gòu),符號(hào)矩陣占用的內(nèi)存為數(shù)值剛度矩陣占用內(nèi)存的1/2(4字節(jié)整
3、數(shù),8字節(jié)實(shí)數(shù))。對(duì)于給定的單元類型,符號(hào)矩陣的大小一般正比于節(jié)點(diǎn)數(shù)。如果分析的問題不太大,符號(hào)矩陣可以整個(gè)在內(nèi)存中處理。但模型較大時(shí)有限元的符號(hào)矩陣的可能超出內(nèi)存允許的范圍。于是就出現(xiàn)了各種符號(hào)矩陣的壓縮存貯方法,其中最著名的是文獻(xiàn)[6]的方法。在工程有限元分析中,因?yàn)榍蠼馕灰葡蛄繄?chǎng)的需要,總體剛度矩陣是由一系列小的子矩陣組成。利用這一性質(zhì),文[1,2]給出了一個(gè)稱為[6]細(xì)胞稀疏存貯方案的符號(hào)矩陣壓縮方法,其壓縮比大于Sherman的方法。本文從兩個(gè)方面改進(jìn)符號(hào)矩陣的組裝方法:1)利用文[1,2]的超方程和細(xì)胞符號(hào)矩陣概念直接組裝細(xì)胞符號(hào)矩陣。在工程有限
4、元分析中,它的大小僅是傳統(tǒng)符號(hào)矩陣的1/36到1/9;2)給出了兩種不同的組裝方案。它們分別適用于不同的內(nèi)存數(shù)據(jù)安排。數(shù)值試驗(yàn)表明,本文提出的方法可以在僅有28M內(nèi)存的情形下在內(nèi)存快速地組裝100萬階3維8節(jié)點(diǎn)實(shí)體有限元方程組的符號(hào)矩陣。2.稀疏矩陣的存貯方案為了更清楚地討論問題,取一個(gè)6階的總體剛度矩陣如下:1高等學(xué)校博士學(xué)科點(diǎn)專項(xiàng)科研基金資助項(xiàng)目(20030001112)-1-http://www.paper.edu.cn?11abc??(11)(ab)()c?????22d(22)()d?????33ef????33ef???A=??=??????(1
5、)?44g????44?g???SYM55h??SYM(55)()h???????66????(66)??其中a,b,…,h是非零實(shí)數(shù)。由于對(duì)稱性,有限元?jiǎng)偠染仃嚥捎昧松先切写尜A方法(或等價(jià)地,下三角列存貯方法)。為了有效地對(duì)行實(shí)施運(yùn)算,在有限元分析的計(jì)算中矩陣A較常用的稀疏存貯方案是緊湊行向量的順序組合表示法(又稱為帶輔助行向量的二元組表示法)。這種表示法需要3個(gè)數(shù)組IA(1:neq),JA(1:nzr)和PA(1:nzr)來表示矩陣A的上三[4,5]角部分,其中neq和nzr分別是線性方程組的階數(shù)和是非零元的個(gè)數(shù)。以4字節(jié)整數(shù)和8字節(jié)實(shí)數(shù)計(jì),這種存貯方
6、案占用的內(nèi)存為(neq+nzr)*4+nzr*8字節(jié)。表1緊湊行向量的順序組合表示法方程號(hào)123456IA469111314JA13462534545566PA11abc22d33ef44g55h66數(shù)組IA(1:neq=6)是行索引,它記錄了每一緊湊行向量在非零元的列指標(biāo)數(shù)組JA(1:nzr=14)以及它的數(shù)值數(shù)組PA(1:nzr=14)中的末地址。第k行的非零元個(gè)數(shù)為IA(k)-IA(k-1)(假設(shè)IA(0)=0)。文[1,2]提出了一種細(xì)胞存貯方案。它的想法是將剛度矩陣中具有相同的非零元位置的行(列)所對(duì)應(yīng)的方程定義為超方程,與超方程劃分相應(yīng)的子矩陣為
7、細(xì)胞。式(1)中A的第2個(gè)表達(dá)式就是按細(xì)胞方式寫的。顯然,符號(hào)矩陣可以在細(xì)胞意義表達(dá),在給定超方程劃分的意義下,它與原始的表達(dá)是完全等價(jià)的。在這一表示法之下,有限元的總體剛度矩陣被視作超行向量的順序組合。根據(jù)超方程的定義,式(1)中有5個(gè)超方程。記mneq為超方程數(shù),在超行緊湊方式下,式(1)中的第2個(gè)矩陣可以用5個(gè)數(shù)組來描述。表2緊湊行向量的細(xì)胞稀疏存貯方案超方程12345SUPER12456ISA357910JSA1352434566LSA46111314?33e??f?PSA11()abc22d????????55h66?44??g?數(shù)組SUPER(1
8、:mneq=5)是超方程編號(hào)到原方程編號(hào)的映射。數(shù)組