论文部分内容阅读
随着科学研究与工程技术的不断发展,出现了许多大型复杂结构的力学分析问题。基于有限元方法的轮轨系统动力学理论就是一种较为复杂的数值计算问题,其复杂性主要表现在自由度多、并且伴随列车的运行不断地基于时间步长进行数值积分求解。特别是随着轮轨系统动力学在道岔动力学中的应用,处理的问题更加复杂,计算时间长的问题,已成为实际应用中的一大障碍。提高其计算速度的一个有效方法就是采用并行计算技术。 本论文对轮轨系统动力学的原有串行程序结构进行了剖析,以寻求并行处理的可行方法。首先从有限元模型建立着手,提出了按轨枕序号编排自由度,可将系数矩阵中非零元素按近似带状排列,使振动方程组的求解易于并行。随后在公式级对轮轨系统动力学振动方程组的组建进行了优化,将组建刚度矩阵、阻尼矩阵和荷载列阵模块化。 通过对串行程序中各功能模块计算工作量的分析,线性方程组的求解在该串行程序中占有75%的工作量,并行求解线性方程组是本论文的一项主要工作。针对轮轨系统振动方程组系数矩阵的特点,分析了现有各种求解线性方程组并行算法的优缺点,选择高斯消去法、LU分解、LDR分解和WZ分解法作比较,采用循环带状划分的方法将系数矩阵的各行分配到各进程,由各个处理器完成所分配矩阵行的消元和分解。同时将振动方程组的组建交给不同的处理器来完成。最后将并行程序与串行程序的计算结果相比较,验证了该并行程序的正确性。 采用循环带状划分、计算与通信重叠、根据曙光2000机结点计算能力分配任务量、合并通信等技术有效地提高了并行算法效率。分析对比了各种并行算法的复杂性,大量的数值试验表明LU分解法具有较高的加速比,WZ分解法具有较高的计算速度。 本文工作为本人今后从事更为复杂的轮轨系统动力学分析的并行化研究打下了一定的基础,论文最后为进一步深化研究指出了发展方向。