冲击-接触问题的并行计算研究

来源 :中国工程物理研究院 | 被引量 : 4次 | 上传用户:huziao
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
冲击-接触问题广泛存在于工程应用和实际生活中,数值模拟是研究此类问题的有效手段之一。由于该问题的强烈非线性以及接触面处理的复杂性,冲击-接触问题的数值模拟通常需要进行几天甚至几个月才能完成。随着模拟精度要求和模拟规模的日益增加,冲击-接触问题的并行计算越来越受到关注。同时,高性能计算机的多层体系结构也为设计与之相适应的接触并行算法提出了挑战。  本文首先提出了适用于有限元共享内存并行计算的结块方法。结合基于性能测试的OpenMP并行化方法,采用循环级和子程序级的结块方法,不仅可有效提高程序的Cache命中率,而且可增加OpenMP并行任务的粒度。测试算例表明结块能显著提高程序性能。  其次,针对冲击-接触计算中的复杂接触计算,设计了基于桶排序的并行自动接触算法。通过对接触计算区域的空间剖分,桶排序,使得接触计算中全局搜索的局部化。最终可实现复杂接触问题的自动接触计算。  结合并行自动接触算法,设计了适应碰撞问题显式有限元计算的双重区域分割并行算法。根据显式有限元接触计算中的数据依赖关系,内力并行计算采用基于图剖分的静态区域分割算法;而针对接触关系的时变特性,接触力并行计算采用基于几何剖分的动态区域分割算法。双重区域分割算法能实现内力并行计算和接触力并行计算中的负载平衡。基于消息传递模型的并行程序测试说明该程序具有较好的并行效率。  最后,本文使用了适应CLUMPS(CLUster of MultiProcessorS,多处理器集群)体系结构的混合编程方法对程序性能进行进一步优化。该方法采用节点间消息传递,节点内共享存储的混合并行编程,实现了冲击-接触问题的MPI+OpenMP混合并行计算。混合并行编程在不增加消息传递的通信开销的前提下,更好的使用计算节点内共享内存的处理器(核),从而提高接触并行计算效率。测试结果表明,该并行程序能在上百处理器上有效的模拟千万自由度的三维接触问题,并能将数值模拟时间缩短一个数量级。
其他文献
学位
案例教学是一种引导式、启发式、参与式教学方式,能积极调动学生主观能动性,能激发学生学习知识的兴趣和热情。本文结合案例教学的特点,对中职学校计算机教学中案例教学法的