论文部分内容阅读
地下水数值模拟是进行地下水资源评价的重要手段。随着地下水研究领域的深入,其对具有精细网格剖分、长时间跨度特征模型的模拟提出了迫切需求。采用传统的串行计算,不但模型的运行速度会非常缓慢,甚至可能由于软件在内存和数据通道等方面所受到的限制,使得模拟计算无法正常进行。本文的主要目的在于研究借助当前并行计算在海量数据处理和运算方面的先进成果,针对不同计算机体系结构并行编程的特点,设计基于不同并行实现方式的地下水数值模拟高效并行算法,以解决大规模地下水模拟时的海量数据计算和存储问题,并有效缩短模型运行时间。通过研究主要取得了以下的成果:(1)编制了通用地下水数值模拟软件MODFLOW与高效并行计算框架JASMIN的接口程序,实现了MODFLOW与JASMIN的高效连接。通过把研究区划分为多个网格片,利用多个处理核心(几百甚至上千个处理核心)同时进行求解,实现了计算任务的分解,达到了减少计算量,提高计算效率的目的。同时,研究人员在模拟过程中可以依据所建模型的实际情况,有选择性地调用JASMIN框架中的各类高效并行解法器,极大的提高了模型求解的方便度和灵活度;(2)详细介绍MODFLOW中P-PCG并行子程序包的设计原理,并针对其对层数较少模型加速效果不充分的特点提出改进方案。改进后的P-PCG子程序包可以有效减少模型层数对于并行性能的制约,以达到充分利用并行计算机每一个处理核心计算能力的目的,有效地扩展了MODFLOW对于大区域、长时间序列、具有复杂水文地质条件特征地下水数值模型的模拟能力;(3)针对分布式存储并行编程的特点,在MPI环境中对Krylov子空间GMRES(m)算法的并行性进行分析,提出了基于区域分解的并行实现策略,并对其与不同预条件子算法联合使用时的效果进行比较。实验结果表明:并行GMRES(m)算法可以显著加快地下水模型的求解速度,且与Jacobi预条件子整合后会获得更佳的加速比和执行效率,具有比较好地通用性和可扩展性。