论文部分内容阅读
数值波浪水槽模拟波浪运动时,波浪自由表面位置的求解精度将直接影响控制方程的求解结果。在众多自由液面的追踪方法中,level set方法由于能隐式追踪交界面的演化过程而被广泛应用。为获得高精度的自由液面演化位置,常需在每一时间步对level set方程采取重新初始化处理,而快速步进方法由于其迎风构造特点已成为求解重新初始化步骤的主流方法。当问题规模较大且求解精度要求较高时,level set方法的求解时间长成为了其应用的主要限制条件。虽然有高性能超级计算机的存在,但其价格昂贵,模拟成本高。因此,研究level set函数重新初始化的并行处理效果具有重要的科学价值和实际意义。 本文从level set方程求解中的重新初始化步骤出发,在前人的基础上,通过将OpenMP的同步过程嵌入到快速步进法重新初始化循环中,提出了一种改进型并行化快速步进算法,以提高重新初始化过程计算效率。建立了哑铃、圆球、圆环管三种并行计算模型,并从线程数目、网格分辨率、真值损失、问题规模、算例位置等几方面去验证该新算法的有效性,且对比了原有分区并行快速步进算法与新算法的执行效率。文章主要结论可归纳为: 新并行算法优化了子区域间的信息传递过程,减少了子区域同步的计算量。哑铃、圆球和圆环管三个算例的等值面重构结果表明,改进型并行化快速步进方法保留了原有串行算法的计算精度,误差阶数为1阶,能够获得高质量的level set函数重构结果,且计算精度随网格分辨率的增加而增加。在全局和局部level set函数重新初始化两种情况下,所建立的快速步进并行计算模型都具有良好的加速比,其中,全局操作8线程的最大加速比可达到5,其并行效率略大于局部操作;而局部level set函数重新初始化的并行效率除与线程数直接相关外,还与模型形状的规则程度、曲率大小有关。此外,并行计算模型的位置、并行计算的分配方式对程序的并行执行效率也有很大影响,当曲面被平均分割时,其所获并行加速比越大。通过与原有分区并行快速步进算法的对比发现,改进型并行化快速步进算法显著提高了level set方程重新初始化的计算效率。