張迎軍++吳沈榮++施欲亮++涂金剛++李文平
摘要: 為了在有限的計算資源下挖掘更高的汽車碰撞仿真計算效率,基于當前普遍采用的并行處理區域分解算法,結合一個典型碰撞案例分析可知,汽車碰撞模型計算過程中的主要時間開銷與結構大變形相關.提出基于坐標遞歸對分(Recursive Coordinate Bisection,RCB)的計算負載均衡區域分解算法,并將此法應用于某整車碰撞仿真模型的3類典型工況.計算結果表明此法能將并行計算效率提高10%~24%.
關鍵詞:
汽車碰撞仿真; 并行計算; 區域分解; 計算負載均衡; 坐標遞歸對分; 計算效率
中圖分類號: U462
文獻標志碼: B
0 引 言
在汽車被動安全研究領域中,計算機仿真是經濟、有效的方法.汽車整車碰撞過程仿真是典型的大變形條件下的大規模沖擊大變形計算,涉及高度的幾何非線性、材料非線性和邊界條件非線性等問題.為確保仿真計算結果有足夠的精度,汽車整車有限元模型的單元數量一般以百萬計,甚至達到千萬級別.[1]得益于計算機軟硬件的飛速發展,人們普遍采用大規模并行系統(Massively Parallel Processors,MPP)求解此類大規模動態非線性問題.因此,適合于MPP并行計算機的非線性有限元結構分析的并行求解技術引起高度重視,其中,基于區域分解算法的并行有限元法是當前并行計算最活躍的研究和應用領域之一.[29]
本文簡要介紹基于區域分解算法的并行有限元法,分析并行計算區域分解算法的主要時間開銷,提出基于坐標遞歸對分(Recursive Coordinate Bisection,RCB)的負載均衡區域分解算法[1011],最后將此法應用于某整車碰撞仿真模型,探討前部正面剛性墻碰撞、正面40%偏置碰撞以及可變形移動壁障側面碰撞等3種工況下提高并行計算效率的可能性.
1 基于區域分解算法的并行計算技術
1.1 基于區域分解的顯式并行有限元法
汽車碰撞過程的計算機仿真一般采用顯式有限元求解,其基本流程[12]如下.
在MPP平臺上實現以上計算流程.對于汽車碰撞這類大規模的仿真問題,目前最常采用的方法是區域分解算法.
區域分解算法是將一個復雜大系統,按照一定的規則,分解成與參加計算處理器的數目相等的子系統,各處理器承擔各自子系統內的計算負荷,并通過交互機制(例如MPI方式)進行數據通信和數據交換.理論分析和實際計算[912]均已表明區域分解算法能夠為大規模問題提供高度并行的、可擴展的魯棒算法.
1.2 并行計算區域分解算法的主要時間開銷
對于某個計算模型,采用并行計算時,其執行時間tP的計算公式[13]為
式中:tPa為并行部分的執行時間,通常為各個處理單元執行并行部分所耗時間的最大值;ti/o為輸入/輸出所耗費的時間,輸入和輸出部分通常都由單機完成[9];tc為通信所耗費的時間,即通信開銷.
加速比SP和并行效率η的計算公式分別定義為
式中:ts為單個處理單元計算該模型所耗費的時間;N為并行計算時所用的處理單元總數.
在采用區域分解的并行計算中,需要預先給每個處理單元分配相應的計算任務.分析式(6)和(7)可知,要提高加速比和并行效率,就要設法減小并行部分的執行時間tPa和通信開銷tc,
式中:m為消息長度;n為處理器數目;t0(n)為啟動時間,取決于具體的硬件系統;tc(n)為每字節通信時間,依賴于具體的計算平臺.
因此,區域分解有以下3個原則[3,9]:
(1)各個子系統的計算負載大致平衡,以減少并行部分的執行時間tPa.
(2)最大相鄰的處理單元數盡可能小,以減少通信次數.
(3)分子系統之間的邊界節點數量盡可能小,以減少單次通信量.
區域分解的核心是靜態負載均衡問題,系統的分解優劣關系到并行求解的效率.模擬過程中的動態負載(如接觸力)均衡則更是不可或缺,盡量使各處理單元有平衡的負載,才能實現高加速比和高并行效率的并行計算.
RCB算法作為一種靜態負載均衡算法[810],可以使各個子系統的單元數量大致相等,其默認子系統分解見圖1.由于該方法只考慮有限元模型的靜態幾何信息而未考慮模型在整個碰撞時域內實際載荷的動態分布,對于汽車碰撞這類大規模沖擊大變形問題,默認子系統分解方式不能有效保證各處理單元計算負載均衡,所以并不是最理想的區域分解方案.
汽車碰撞模型計算過程中的時間開銷分布情況見表1.整個模型時耗的90%以上都花費在單元處理和接觸計算上,即第1.1節描述的第(2)和第(5)步.耗時多的計算都與結構大變形有關.
為此,本文探討在保證各處理單元間單元數量平衡的基礎上,通過均勻分布大變形的區域分解方案實現各處理單元間的負載均衡,從而提高并行計算效率的可能性.
2 基于RCB的負載均衡區域分解算法
基于RCB,結合奇瑞汽車工程研究總院高性能計算服務器的共享內存體系結構,設計負載均衡的區域分解算法(Computational Load Balance Based Domain Decomposition Algorithms,CLB),其基本原理[4,9]如下:
(1)找出大變形定義中的所有單元及其相鄰單元;
(2)根據參與計算的處理單元數目將大變形定義中的單元均分,并劃定區域邊界;
(3)根據區域邊界進行區域分解,復制區域邊界的節點,分布到對應的區域中;
(4)將模型中非大變形單元按照幾何坐標分布到對應區域中,直到滿足分割收斂條件,即子區域數與所用處理單元的數目相等;
(5)輸出分區結果.
根據以上原理,采用腳本語言pfile[14]和MPI消息傳遞函數庫開發大變形負載均衡分區程序,該程序可以讀入有限元網格,并進行網格的初始化分區,分區結果由顯式有限元求解器LSDYNA[1415]讀入,并將各分區一一分配給各處理單元進行計算,從而實現汽車碰撞仿真問題的并行計算.
3 實例應用
將CLB方法應用于某整車碰撞仿真分析,該整車有限元模型見圖2,共計約93萬個單元,其詳細信息見表2.
針對前部正面剛性墻碰撞、正面40%偏置碰撞以及可變形移動壁障側面碰撞等3種工況,設計不同的分區方案.
3.1 前部正面剛性墻碰撞
該整車有限元模型及其采用32個處理單元的分區結果見圖2,碰撞總時間為90 ms,計算迭代總步數為 100 001步,計算結果見圖3.
3.2 正面40%偏置碰撞
正面40%偏置碰撞工況下,該整車有限元模型及其采用32個處理單元的分區結果見圖5;碰撞總時間為120 ms,計算迭代總步數為133 334步,計算結果見圖6.
默認RCB分區方法和CLB方法在不同處理單元數目下的計算時耗、加速比及并行效率分見表4和圖7.同第3.1節,正面40%偏置碰撞并行計算的效率分析以8個處理單元為基準.
3.3 可變形移動壁障側面碰撞
在可變形移動壁障側面碰撞工況下,該整車有
限元模型及其采用32個處理單元的分區結果見圖8,碰撞總時間為80 ms,計算迭代總步數為步,計算結果見圖9.
默認RCB分區方法和CLB方法在不同處理單元數目下的計算時耗、加速比及并行效率分別見表5和圖10.同第3.1節,可變形移動壁障側面碰撞并行計算的效率分析以8個處理單元為基準.
4 結果分析
對于整車碰撞3種工況下的并行仿真算例,由
表3~5及圖4,7和10可知,隨著處理單元數目的增加,采用2種區域分解算法都能大幅減少計算時間.相對于默認的RCB方法,基于CLB根據汽車碰撞各工況的特性設計的分區方法具有更好的并行計算表現.
相對于默認的RCB方法,CLB分區方法能使總的計算時間減少10%~24%.
5 結 論
根據顯式有限元的計算主要是在單元中進行,而且計算時間大多花在單元和接觸計算上的特點,考慮所用的高性能計算服務器的體系結構、內存大小和信息傳遞方式等,設計基于信息傳遞和負載均衡的動態顯式有限元的并行區域分解算法.算例計算結果表明,這種方法可以比軟件默認的算法的加速比和并行效率更高,總的計算時間可以減少10%~24%.
參考文獻:
[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] 曹銀鋒, 李光耀, 鐘志華. 汽車碰撞過程并行有限元仿真技術[J]. 機械工程學報, 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]. 沖擊與振動, 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]. 系統仿真學報, 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] 陳向東. 輕軌車輛與斜拉橋動態耦合系統的數值模擬方法及應用[D]. 上海: 上海交通大學, 2009.
[7] 杜新光. 軌道車輛——結構動態耦合系統的數值模擬方法及應用[D]. 上海: 上海交通大學, 2010.
[8] 郭毅之, 金先龍. 大型結構動力響應的區域分解并行計算技術[J]. 高性能計算發展與應用, 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] 王福軍. 沖擊接觸問題有限元法并行計算及其工程應用[D]. 北京: 清華大學, 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.
(編輯 武曉英)