張迎軍++吳沈榮++施欲亮++涂金剛++李文平
摘要: 為了在有限的計(jì)算資源下挖掘更高的汽車碰撞仿真計(jì)算效率,基于當(dāng)前普遍采用的并行處理區(qū)域分解算法,結(jié)合一個典型碰撞案例分析可知,汽車碰撞模型計(jì)算過程中的主要時間開銷與結(jié)構(gòu)大變形相關(guān).提出基于坐標(biāo)遞歸對分(Recursive Coordinate Bisection,RCB)的計(jì)算負(fù)載均衡區(qū)域分解算法,并將此法應(yīng)用于某整車碰撞仿真模型的3類典型工況.計(jì)算結(jié)果表明此法能將并行計(jì)算效率提高10%~24%.
關(guān)鍵詞:
汽車碰撞仿真; 并行計(jì)算; 區(qū)域分解; 計(jì)算負(fù)載均衡; 坐標(biāo)遞歸對分; 計(jì)算效率
中圖分類號: U462
文獻(xiàn)標(biāo)志碼: B
0 引 言
在汽車被動安全研究領(lǐng)域中,計(jì)算機(jī)仿真是經(jīng)濟(jì)、有效的方法.汽車整車碰撞過程仿真是典型的大變形條件下的大規(guī)模沖擊大變形計(jì)算,涉及高度的幾何非線性、材料非線性和邊界條件非線性等問題.為確保仿真計(jì)算結(jié)果有足夠的精度,汽車整車有限元模型的單元數(shù)量一般以百萬計(jì),甚至達(dá)到千萬級別.[1]得益于計(jì)算機(jī)軟硬件的飛速發(fā)展,人們普遍采用大規(guī)模并行系統(tǒng)(Massively Parallel Processors,MPP)求解此類大規(guī)模動態(tài)非線性問題.因此,適合于MPP并行計(jì)算機(jī)的非線性有限元結(jié)構(gòu)分析的并行求解技術(shù)引起高度重視,其中,基于區(qū)域分解算法的并行有限元法是當(dāng)前并行計(jì)算最活躍的研究和應(yīng)用領(lǐng)域之一.[29]
本文簡要介紹基于區(qū)域分解算法的并行有限元法,分析并行計(jì)算區(qū)域分解算法的主要時間開銷,提出基于坐標(biāo)遞歸對分(Recursive Coordinate Bisection,RCB)的負(fù)載均衡區(qū)域分解算法[1011],最后將此法應(yīng)用于某整車碰撞仿真模型,探討前部正面剛性墻碰撞、正面40%偏置碰撞以及可變形移動壁障側(cè)面碰撞等3種工況下提高并行計(jì)算效率的可能性.
1 基于區(qū)域分解算法的并行計(jì)算技術(shù)
1.1 基于區(qū)域分解的顯式并行有限元法
汽車碰撞過程的計(jì)算機(jī)仿真一般采用顯式有限元求解,其基本流程[12]如下.
在MPP平臺上實(shí)現(xiàn)以上計(jì)算流程.對于汽車碰撞這類大規(guī)模的仿真問題,目前最常采用的方法是區(qū)域分解算法.
區(qū)域分解算法是將一個復(fù)雜大系統(tǒng),按照一定的規(guī)則,分解成與參加計(jì)算處理器的數(shù)目相等的子系統(tǒng),各處理器承擔(dān)各自子系統(tǒng)內(nèi)的計(jì)算負(fù)荷,并通過交互機(jī)制(例如MPI方式)進(jìn)行數(shù)據(jù)通信和數(shù)據(jù)交換.理論分析和實(shí)際計(jì)算[912]均已表明區(qū)域分解算法能夠?yàn)榇笠?guī)模問題提供高度并行的、可擴(kuò)展的魯棒算法.
1.2 并行計(jì)算區(qū)域分解算法的主要時間開銷
對于某個計(jì)算模型,采用并行計(jì)算時,其執(zhí)行時間tP的計(jì)算公式[13]為
式中:tPa為并行部分的執(zhí)行時間,通常為各個處理單元執(zhí)行并行部分所耗時間的最大值;ti/o為輸入/輸出所耗費(fèi)的時間,輸入和輸出部分通常都由單機(jī)完成[9];tc為通信所耗費(fèi)的時間,即通信開銷.
加速比SP和并行效率η的計(jì)算公式分別定義為
式中:ts為單個處理單元計(jì)算該模型所耗費(fèi)的時間;N為并行計(jì)算時所用的處理單元總數(shù).
在采用區(qū)域分解的并行計(jì)算中,需要預(yù)先給每個處理單元分配相應(yīng)的計(jì)算任務(wù).分析式(6)和(7)可知,要提高加速比和并行效率,就要設(shè)法減小并行部分的執(zhí)行時間tPa和通信開銷tc,
式中:m為消息長度;n為處理器數(shù)目;t0(n)為啟動時間,取決于具體的硬件系統(tǒng);tc(n)為每字節(jié)通信時間,依賴于具體的計(jì)算平臺.
因此,區(qū)域分解有以下3個原則[3,9]:
(1)各個子系統(tǒng)的計(jì)算負(fù)載大致平衡,以減少并行部分的執(zhí)行時間tPa.
(2)最大相鄰的處理單元數(shù)盡可能小,以減少通信次數(shù).
(3)分子系統(tǒng)之間的邊界節(jié)點(diǎn)數(shù)量盡可能小,以減少單次通信量.
區(qū)域分解的核心是靜態(tài)負(fù)載均衡問題,系統(tǒng)的分解優(yōu)劣關(guān)系到并行求解的效率.模擬過程中的動態(tài)負(fù)載(如接觸力)均衡則更是不可或缺,盡量使各處理單元有平衡的負(fù)載,才能實(shí)現(xiàn)高加速比和高并行效率的并行計(jì)算.
RCB算法作為一種靜態(tài)負(fù)載均衡算法[810],可以使各個子系統(tǒng)的單元數(shù)量大致相等,其默認(rèn)子系統(tǒng)分解見圖1.由于該方法只考慮有限元模型的靜態(tài)幾何信息而未考慮模型在整個碰撞時域內(nèi)實(shí)際載荷的動態(tài)分布,對于汽車碰撞這類大規(guī)模沖擊大變形問題,默認(rèn)子系統(tǒng)分解方式不能有效保證各處理單元計(jì)算負(fù)載均衡,所以并不是最理想的區(qū)域分解方案.
汽車碰撞模型計(jì)算過程中的時間開銷分布情況見表1.整個模型時耗的90%以上都花費(fèi)在單元處理和接觸計(jì)算上,即第1.1節(jié)描述的第(2)和第(5)步.耗時多的計(jì)算都與結(jié)構(gòu)大變形有關(guān).
為此,本文探討在保證各處理單元間單元數(shù)量平衡的基礎(chǔ)上,通過均勻分布大變形的區(qū)域分解方案實(shí)現(xiàn)各處理單元間的負(fù)載均衡,從而提高并行計(jì)算效率的可能性.
2 基于RCB的負(fù)載均衡區(qū)域分解算法
基于RCB,結(jié)合奇瑞汽車工程研究總院高性能計(jì)算服務(wù)器的共享內(nèi)存體系結(jié)構(gòu),設(shè)計(jì)負(fù)載均衡的區(qū)域分解算法(Computational Load Balance Based Domain Decomposition Algorithms,CLB),其基本原理[4,9]如下:
(1)找出大變形定義中的所有單元及其相鄰單元;
(2)根據(jù)參與計(jì)算的處理單元數(shù)目將大變形定義中的單元均分,并劃定區(qū)域邊界;
(3)根據(jù)區(qū)域邊界進(jìn)行區(qū)域分解,復(fù)制區(qū)域邊界的節(jié)點(diǎn),分布到對應(yīng)的區(qū)域中;
(4)將模型中非大變形單元按照幾何坐標(biāo)分布到對應(yīng)區(qū)域中,直到滿足分割收斂條件,即子區(qū)域數(shù)與所用處理單元的數(shù)目相等;
(5)輸出分區(qū)結(jié)果.
根據(jù)以上原理,采用腳本語言pfile[14]和MPI消息傳遞函數(shù)庫開發(fā)大變形負(fù)載均衡分區(qū)程序,該程序可以讀入有限元網(wǎng)格,并進(jìn)行網(wǎng)格的初始化分區(qū),分區(qū)結(jié)果由顯式有限元求解器LSDYNA[1415]讀入,并將各分區(qū)一一分配給各處理單元進(jìn)行計(jì)算,從而實(shí)現(xiàn)汽車碰撞仿真問題的并行計(jì)算.
3 實(shí)例應(yīng)用
將CLB方法應(yīng)用于某整車碰撞仿真分析,該整車有限元模型見圖2,共計(jì)約93萬個單元,其詳細(xì)信息見表2.
針對前部正面剛性墻碰撞、正面40%偏置碰撞以及可變形移動壁障側(cè)面碰撞等3種工況,設(shè)計(jì)不同的分區(qū)方案.
3.1 前部正面剛性墻碰撞
該整車有限元模型及其采用32個處理單元的分區(qū)結(jié)果見圖2,碰撞總時間為90 ms,計(jì)算迭代總步數(shù)為 100 001步,計(jì)算結(jié)果見圖3.
3.2 正面40%偏置碰撞
正面40%偏置碰撞工況下,該整車有限元模型及其采用32個處理單元的分區(qū)結(jié)果見圖5;碰撞總時間為120 ms,計(jì)算迭代總步數(shù)為133 334步,計(jì)算結(jié)果見圖6.
默認(rèn)RCB分區(qū)方法和CLB方法在不同處理單元數(shù)目下的計(jì)算時耗、加速比及并行效率分見表4和圖7.同第3.1節(jié),正面40%偏置碰撞并行計(jì)算的效率分析以8個處理單元為基準(zhǔn).
3.3 可變形移動壁障側(cè)面碰撞
在可變形移動壁障側(cè)面碰撞工況下,該整車有
限元模型及其采用32個處理單元的分區(qū)結(jié)果見圖8,碰撞總時間為80 ms,計(jì)算迭代總步數(shù)為步,計(jì)算結(jié)果見圖9.
默認(rèn)RCB分區(qū)方法和CLB方法在不同處理單元數(shù)目下的計(jì)算時耗、加速比及并行效率分別見表5和圖10.同第3.1節(jié),可變形移動壁障側(cè)面碰撞并行計(jì)算的效率分析以8個處理單元為基準(zhǔn).
4 結(jié)果分析
對于整車碰撞3種工況下的并行仿真算例,由
表3~5及圖4,7和10可知,隨著處理單元數(shù)目的增加,采用2種區(qū)域分解算法都能大幅減少計(jì)算時間.相對于默認(rèn)的RCB方法,基于CLB根據(jù)汽車碰撞各工況的特性設(shè)計(jì)的分區(qū)方法具有更好的并行計(jì)算表現(xiàn).
相對于默認(rèn)的RCB方法,CLB分區(qū)方法能使總的計(jì)算時間減少10%~24%.
5 結(jié) 論
根據(jù)顯式有限元的計(jì)算主要是在單元中進(jìn)行,而且計(jì)算時間大多花在單元和接觸計(jì)算上的特點(diǎn),考慮所用的高性能計(jì)算服務(wù)器的體系結(jié)構(gòu)、內(nèi)存大小和信息傳遞方式等,設(shè)計(jì)基于信息傳遞和負(fù)載均衡的動態(tài)顯式有限元的并行區(qū)域分解算法.算例計(jì)算結(jié)果表明,這種方法可以比軟件默認(rèn)的算法的加速比和并行效率更高,總的計(jì)算時間可以減少10%~24%.
參考文獻(xiàn):
[1] MACRI D, SANDAHL A, JERGEUS J, et al. Crash cae in the all new volvo XC90 and SPA platform[R]. Sweden: 6th BETA CAE International Conference, 2015.
[2] ROH Y S. Scaling study of LSDYNA MPP on high performance servers[C]// Proceedings of 6th International LSDYNA Users Conference. Michigan, 2000: 2534.
[3] 曹銀鋒, 李光耀, 鐘志華. 汽車碰撞過程并行有限元仿真技術(shù)[J]. 機(jī)械工程學(xué)報(bào), 2005, 41(2): 153157. DOI: 10.3321/j.issn:05776686.2005.02.030.
CAO Y F, LI G Y, ZHONG Z H. Parallel explicit finite element simulation of vehicle collision[J]. Chinest Journal of Mechnical Engineering, 2005, 41(2): 153157. DOI: 10.3321/j.issn:05776686.2005.02.030.
[4] 亓文果, 金先龍, 張曉云. 沖擊接觸問題有限元仿真并行計(jì)算[J]. 沖擊與振動, 2006, 25(4): 6871. DOI: 10.3969/j.issn.10003835.2006.04.018.
QI W G, JIN X L, ZHANG X Y. Study on parallel algorithm for finite element simulation of contactimpact problems[J]. Journal of Vibration and Shock, 2006, 25(4): 6871. DOI: 10.3969/j.issn.10003835.2006.04.018
[5] 亓文果, 金先龍, 張曉云, 等. 汽車碰撞有限元仿真的并行計(jì)算及其性能研究[J]. 系統(tǒng)仿真學(xué)報(bào), 2004, 16(11): 24282431. DOI: 10.3969/j.issn.1004731X.2004.11.016.
QI W G, JIN X L, ZHANG X Y, et al. Finite element simulation and performance study of vehicle crash based on parallel computing[J].Journal of System Simulation, 2004, 16(11): 24282431. DOI: 10.3969/j.issn.1004731X.2004.11.016.
[6] 陳向東. 輕軌車輛與斜拉橋動態(tài)耦合系統(tǒng)的數(shù)值模擬方法及應(yīng)用[D]. 上海: 上海交通大學(xué), 2009.
[7] 杜新光. 軌道車輛——結(jié)構(gòu)動態(tài)耦合系統(tǒng)的數(shù)值模擬方法及應(yīng)用[D]. 上海: 上海交通大學(xué), 2010.
[8] 郭毅之, 金先龍. 大型結(jié)構(gòu)動力響應(yīng)的區(qū)域分解并行計(jì)算技術(shù)[J]. 高性能計(jì)算發(fā)展與應(yīng)用, 2007(1): 3237.
GUO Y Z, JIN X L. Domain decomposition parallel computing technology for Large scale structure dynamic response[J]. Development and Application of High Performance Computing, 2007(1): 3237.
[9] 王福軍. 沖擊接觸問題有限元法并行計(jì)算及其工程應(yīng)用[D]. 北京: 清華大學(xué), 2000.
[10] BERGER M, BOKHARI S. A partitioning strategy for nonuniform problems on multiprocessors[J]. IEEE Transaction on Computers, 1987, 36(50): 570580.
[11] HENDRICKSON B, PLIMPTON S. Tinkertoy parallel programming: complicated applications from simple tools[C]// Proceedings of 10th SIAM parallel processing for scientific computing conference. SIAM: Philadephia, 2007
[12] WU S R. A variational principle for dynamic contact with large deformation[J]. Computer Method in Applied Mechanics Engineering, 2009, 198(1): 20092015.
[13] MUKADDES A M M, SHIOY R. Parallel performance of domain decomposition method on distributed computing environment[J]. International Journal of Engineering and Technology, 2010, 2(1): 2834.
[14] LSDYNA keyword users manual[Z]. Livermore CA: Livermore Software Technology Corporation, 2016.
[15] WANG J. Introduction to MPP version of LSDYNA[Z]. Livermore CA: Livermore Software Technology Corporation, 2011.
(編輯 武曉英)