论文部分内容阅读
二维水动力学模型广泛应用于洪水预报、航运预警等水流模拟相关领域,随着模拟范围、内容与精度要求的不断增长,提高计算效率已成为模型应用的迫切需求。本文在深入研究二维水动力学模型求解算法的基础上,基于共享内存的并行模式建立了二维水动力学并行计算模型,分别对长江上游河道通航水流和松花江胖头泡蓄滞洪区溃堤洪水进行了模拟,获得了较好的加速效果,同时对影响并行效率的多种因素进行了探讨。研究工作对提高二维水动力学模型的计算效率提供了可行的方法。论文结合国家十二五科技支撑计划课题“多体系协同集成的智能航运关键技术研究”,完成相关研究内容并取得以下成果:综合分析了二维水动力学模型求解与并行算法的研究进展,根据并行计算实现方法将水动力学并行模型概括为三种类型:消息传递模型、共享内存模型和GPU通用计算模型,阐述了三种模型的理论框架、关键技术和优化进展。结合并行算法的特点与应用研究成果,对各模型的求解算法、应用领域、加速比、可扩展性和移植性等要素进行了对比分析。根据模型处理间断的能力以及实现并行算法的需要,选择基于非结构网格的有限体积法求解二维水动力学方程,对网格划分、控制单元选取、控制方程离散、干湿边界处理、时间步长设定等模型求解算法进行了详细阐述。在分析模型算法流程的基础上,提出同一时间步内网格计算无相关性,可将相应的计算分配给不同线程执行以实现并行的思路,并采用OpenMP并行模式建立了二维水动力学并行计算模型。针对长江上游重庆段航道水流条件实时模拟与松花江胖头泡蓄滞洪区溃堤洪水模拟要求,分别建立了基于OpenMP的二维水动力学并行计算模型。对并行模型与串行模型的计算结果进行了对比验证,结果表明,所建模型具有较好的加速性能,在16核的工作站上可以获得8.0以上加速比。论文探讨了并行模型在不同网格计算量下的运行性能及模型的可扩展性,结果表明,模型计算量越大模型的加速效果越明显、性能越优异;同时,模型具有良好的可扩展性,加速比随着计算核心数量的增加而提升。