论文部分内容阅读
随着计算机硬件的发展,多核CPU的应用普及和分布式软件架构的成熟,科学计算领域也逐渐趋向于问题的并行求解。计算流体力学中,不可压缩管流问题是磁流体应用中的重要研究对象,此类问题由于外加磁场和液态流动金属之间的相互作用以及实际模拟中对网格要求的严格性,其方程组一般规模较大,且具有较高的复杂性,求解过程十分耗时,因此迫切需要采用并行化求解来提高实际工程中数值模拟的效率。当前,磁流体应用中不可压缩管流问题数值模拟方程组一般采用迭代法来进行求解,而共轭梯度法作为一种存储量小,具有步收敛性,稳定性高,不需要任何外来参数的高效求解大型代数方程组的迭代方法,十分适合此类问题的求解。本论文针对于磁流体应用中不可压缩管流问题数值模拟的实际需求,将科学计算中的迭代算法——稳定双共轭梯度算法与计算机存储体系结构进行统一研究,结合数据局部性,并行化,性能调优等关键技术,实现不可压缩管流问题数值模拟的高效求解。本文主要工作总结如下:(1)查阅并研究大量国内外相关文献和技术,总结了共轭梯度法相关研究及不足,稀疏矩阵相关技术及不足,归纳了计算流体力学领域中不可压缩管流问题求解的相关技术及其并行化相关工作。(2)针对传统稳定双共轭梯度算法在数据局部性上不足之处,提出了一种基于四叉树存储格式的并行稳定双共轭梯度算法(Qtree-BiCGSTAB)。采用这种存储格式存储稀疏矩阵,在执行矩阵向量乘运算时可以提高缓存命中率,优化Cache行为,提高数据局部性,进而提升稳定双共轭梯度算法的运算效率,大大缩短了方程组求解所需要的时间,相较于基于传统CSR存储格式的稳定双共轭梯度算法有较好的性能提升。同时通过对基于四叉树存储格式的稳定双共轭梯度算法的并行化实现,提升大规模方程组求解的执行效率。(3)针对计算流体力学中的实际需求,本文将上述研究成果(Qtree-BiCGSTAB)应用到三维稳态不可压缩管流问题的并行求解过程中,提出了一种基于并行Qtree-BiCGSTAB的SIMPLE算法,以提高有限体积法中离散方程组的求解效率。与传统的并行SIMPLE方法相比,该算法通过采用步收敛性的稳定双共轭梯度算法来对七对角方程组进行求解,加快了求解效率,并在稳定双共轭梯度算法中通过采用基于四叉树存储格式的稀疏矩阵,提高了算法的数据局部性,同时通过采用并行化的稳定双共轭梯度算法,提升了大规模七对角方程组求解的效率,进一步有效地提高了三维稳态不可压缩管流问题数值模拟的效率。