论文部分内容阅读
车身结构设计是汽车生产中的关键部分,其中涉及的大规模有限元计算问题是汽车CAE分析中的关键,同时也是一个十分复杂难解的过程。而随着计算机硬件的发展,数值模拟技术也被广泛的应用到车身结构的有限元分析中,研究人员可以随时调整设计参数,完成高精度的数值仿真,这些技术的运用大大提高了车身结构的设计效率和精度。但是计算机仿真模拟带来便利的同时也面临着一个重大的问题,那就是随着模型规模的增大,计算效率愈发低下的问题。所以针对有限元的并行计算方法研究十分必要。现阶段针对有限元的并行计算方法很多都是采用粗粒度的并行策略,对于计算机集群节点的依赖度很高,在以CPU为核心的计算机集群上计算,集群节点数直接影响到计算效率,这种粗粒度的并行计算方法非常依赖于集群规模,所以实现基于协处理器的低硬件成本有限元并行计算愈发关键。基于Intel MIC架构的协处理器是一种高度并行的众核协处理器,非常适合处理高复杂度的并行计算。在基于MIC架构开发并行程序的时候,单节点资源可以最大化利用,实现良好的性能功耗比。而且MIC架构拥有众多的编程模式,开发方式十分灵活,同时CPU和MIC拥有众多的公共代码,编程复用性很高,MIC架构的众多优势为并行计算的研究提供了新的思路。本文从实际工程应用出发,针对车身设计中涉及到的大规模计算问题提出了一种基于MIC架构的细粒度并行计算方法,摆脱了对于大规模计算机集群的依赖,实现了在低硬件成本下的高精度高效率非线性有限元并行计算。本文主要的工作包括:(1)基于MIC架构采用OpenMP编程模型实现了板壳单元节点力的并行计算。首先,在预处理阶段建立节点和单元之间的依赖关系,避免了并行执行时的数据竞争。并通过循环队列控制将计算任务分解成多个并行块,单个并行块通过单个线程串行执行,均衡线程负载。然后,建立了线程与单元、节点以及自由度的映射方法,用于充分发挥MIC架构的线程优势。最后,本文实现了MIC架构的向量化执行,通过将多维数组指针重建为一维指针,实现了线性化存储,解决了对齐的内存访问问题。(2)以板壳单元的MIC并行计算为基础,提出了板壳结构的显式有限元MIC全流程细粒度并行计算方法。采用动态内存分配策略,通过在迭代过程中重复利用内存空间,节约了空间开辟和数据传输的时间成本。采用nocopy方法优化数据传输,实现了MIC端和主机端的高效数据交互,并采用了异步执行策略,利用同步进行的并行计算掩盖节点位移、节点力等相关数组从MIC端回传的过程,避免了MIC端存储大量的中间结果,减轻了其内存存储压力。(3)基于本文提出的板壳结构的显式有限元MIC全流程细粒度并行计算方法,采用一个动车车头算例分析了计算规模和算法性能的关系,结果表明,随着计算规模的增加,算法的并行效率也更加理想,绝对加速比最高可以接近12倍。然后采用一个含有147,264个单元和147,700个节点的数值算例进行算法的扩展性分析,调用不同的线程数目完成模型的有限元并行计算,结果表明随着线程数目的增加,算法的并行效率也更加优越,相对加速比最高可以达到80倍,所以采用该并行方法,在实际应用中可以灵活的调配线程,算法扩展性十分优秀。(4)本文提出了完整的薄板冲压成形MIC并行计算方法。以板壳单元和板壳结构的显式有限元MIC并行计算为基础,进一步实现了模具位置更新,滑移速度以及接触力和压边力的MIC并行计算。采用车顶盖数值算例评估了算法的计算精度,结果表明该算法的精度损失极低。同时分析了不同计算规模数值算例的并行效率,结果表明随着数值算例规模的增加,算法的并行效率也更加出色,对于490,000个单元的仿真模型,绝对加速比可以达到48倍。最后分析了线程数目对并行效率的影响,对于250,000个单元的数值算例,调用224个线程相对加速比可以达到52倍。采用该算法开发了基于MIC的板料成形并行分析软件CADEMMIC(流水号:2019R11L014673)。