首页 > 技术 > CAE其它 > > LS-DYNA平行运算功能应用于电子产品结构分析

LS-DYNA平行运算功能应用于电子产品结构分析

作者:Simwe    来源:    发布时间:2011-12-19    收藏】 【打印】  复制连接  【 】 我来说两句:(0逛逛论坛

前言

    随着信息科技的进步,今日市面上个人计算机效能已有大幅度的提升。以往许多只能依赖工作站执行的程序,皆可轻而易举地在个人PC上执行完成。尽管如此,当面对一个庞大的程序时,工程师无不希望能有更快速有效率的执行环境。

    因此,PC Cluster(PC 群组)的概念被提出之后,大型的程序设计纷纷采用这种方式以提高效率。虽然每台PC个别的计算效率远低于大型计算机,但是PC 群组的整体效能却可比拟大型计算机甚至超越大型计算机。平行运算实际上已经发展多年,而近年来也因为PC Cluster成本低,效能渐渐可以超过大型计算机,于是被大量采用。目前平行运算所采用的传输标准为MPI,MPI标准不但能够在许多大型平台使用,也可用在PC Cluster上,相信在不久的未来,其应用会更加广泛。

\


何谓MPI

    大量的平行运算对计算机而言,实际上是个非常复杂及花时间的过程,幸而有了第一个标准化 Message Passing 平行语言-- MPI(Message Passing Interface)的发展,才得以实现。MPI依字面的意思可称为讯息传输接口。从Ohio Supercomputer Center得到的解释是可携带性平行程序,可以使用在Fortran、C等语言撰写的程序上,并可以用在各种并行计算机间,尤其是分散内存(distributed memory)之环境。

    LS-DYNA早于1993年发展平行运算之核心,并立即采用MPI之传输标准。发展至今日,LS-DYNA配合平行运算的各项功能也更臻完善,其准确度及速度已广为学术界及商业界所认同(注1),本篇文章利用相同的有限元素模型来比较平行处理及单CPU运算结果,藉此文章使读者对LS-DYNA平行处理运算能力有初步的认识。

平行运算测试方式

利用LS-DYNA模拟B.B.Call掉落的过程,分别在单机单CPU及两台单CPU的计算机群组环境下执行,比较二者在执行效率及精度上的差异性。
测试的环境硬件规格如下:
PC群组(两台)
主机板:ASUS
内存:512 M
CPU:INTEL Pentium III 450 MHz
操作系统:Windows2000

实例演练

有限元软件的操作流程大致分为三阶段:前处理、核心程序计算求解及后处理阶段。

前处理:利用专为LS-DYNA设计的前处理软件FEMB进行(接口请参考图3.),目的在建立有限元网格点及设定外力、边界条件等。

核心程序计算部份:采用LS-DYNA / MPP运算核心进行平行运算并与单机运算之比对。

后处理:利用后处理程序LSPOST来汇整并输出运算完成后的数值数据,及应力、变形或速度、加速度等物理量的分布趋势。

以本文B. B. Call model为例(图2. ),共可区分为九个部份:上盖、下盖、PCB板、device、及卡勾、连结元素及螺柱、刚性地板等,其相关结点及元素信息请参考表1。

 

 \

\


    材料方面以刚性材料(*MAT_RIGID)来模拟地面,其余则以理想塑性材料模式(*MAT_PLASTIC_KINEMATIC)来仿真塑料材料。一般而言,电子产品常见的塑料材料,其杨氏模量约在2000~2500 MPa左右,降伏强度约在60~70 MPa的范围内。

\
 
并设定其以2,000 mm/s之起始速度撞击地面,亦相当于自20cm的高度自由落下。

    由后处理程序可看到整个产品在跌落撞击地面后,并没有发生上下盖分离或是材料达到塑性变形的情况发生,其Von-Mises应力分布状况请参考图4;同时,亦可选取主机板零件上的特定结点(Node 4106)来观察此点在整个跌落过程中的加速度反应。

\


结果

     以本例而言,利用两台主机进行平行运算的CPU效能约发挥至95%,瞬时可达100%或降至80%不等,视网络状况及系统环境而异。执行单机运算的CPU效能则较为稳定,维持在100%。

CPU效能
运算时间
速度比
单机运算

    就所需运算时间而言,单机运算所需时间为5,657秒;平行运算的执行时间为3,342秒,速度比为1:1.69(参考表2.)。在一些有限元分析案中,采用不同的接触算法(contact algorithm), 可能使CPU效能只发挥到60%~70%。尽管如此,仍旧比单机执行节省时间。

\


下图为第4106结点于单机运算及平行运算后所得到的加速度响应曲线,可以看出二者线型几乎重迭在一起,没有差别。

\


结论

   一般印象中,平行运算的程序执行速度大抵是和CPU的数量成正比,但在国内外已有大量的文章和案例皆显示,随着CPU数量的增加,程序花费在横向联系的时间会更久,因此所节省的时间实际上并非完全与CPU的数量成倍数关系;而不同主机间的硬件规格、操作系统及网络传输品质也是影响执行效率的重要因素。

    经实地验证的结果,假设计算机群组当中有9台CPU为2.2G的主机,第10台为450MHz的机器,在进行平行运算的过程中可以发现450MHz主机的CPU效能几乎是100%的在利用,但是其余2.2G主机则只有占用一小部份的CPU资源而已,相当于是以10台450MHz的机器在执行运算。换言之,平行运算的效能首先是依据计算机群组里等级最低者为准,因此建议执行平行运算的环境尽量是建立在配备等级相仿的计算机群组中。

    以LS-DYNA而言,利用显性积分方式进行分析,其运算时间主要视元素尺寸及波传速度而定;平行运算之速度则视接触算法(contact algorithm)的演算效率而定。

    本文目的并非针对平行运算的效能比较进行学术探讨,且所选用计算机平台的环境条件亦非建立在完全相同的水平条件上,这样的方法绝非是严谨的比较方式。本文目的是为了提供给读者们更经济有效率的方式,利用现有常见的硬件环境,以LS-DYNA进行有限元分析仿真,以缩短分析时间。

 
分享到: 收藏