论文部分内容阅读
近年来,人们在河口海岸区域开展的资源开发、工程建设等活动越来越频繁,有力地推动了河口海岸的相关研究,而环境水动力学的计算一直以来都是河口海岸研究中的基础问题和热点问题。为了能对环境水动力过程进行准确的模拟,很多研究人员以及研究机构都开发出了自己的数值模拟软件对河口海岸地区的流场进行模拟。然而,随着人们对河口海岸水动力学问题的研究不断深入,对流场模拟的计算精度也提出了更高的要求。河口海岸带空间跨度巨大,然而随着空间分辨率的要求不断提高,数值模拟的计算量激增。当前计算机硬件发展迅速,多核“胖节点”和机群等高性能计算机的发展日新月异。为了充分利用计算机硬件资源,串行模式的计算软件势必为并行软件所取代。 本文通过对当前主要的两类并行计算机——分布式内存计算机和共享内存计算机以及相应并行工具MPI和OpenMP的分析比较,结合当前计算机向众核发展的趋势,选用OpenMP作为并行工具开展了并行计算相关的研究。在原有自主开发的三维河口海岸水动力学数值模拟软件OCERM(Ocern Coast Estuary and River Model)的基础上,实现了程序的并行化。为了获得最优的并行效率,通过细致的优化,避免程序在并行执行过程中不必要的同步,同时充分利用多核计算机的高速缓存。在共享内存多处理机(Shared-memory MultiProcessor)上对平底矩形槽内明渠流算例进行测试。通过对比,研究了计算规模、并行粒度、线程绑定等因素对于并行效率的影响,进一步分析了基于带预处理的双共轭梯度算法求解线性方程组的计算程序 OCERM并行化后的可扩展性。最后基于并行化的OCERM计算程序对长江口及杭州湾区域的潮汐流场进行了数值模拟,验证了模型的可靠性。