论文部分内容阅读
激光推进是一种新型的推进技术,利用激光的高能量击穿工质,从而产生高温等离子体向后喷射形成反作用力来推进飞行器的。由于其具有有效载荷高、比冲大、成本低、污染小等众多优势,因而受到各航天大国的广泛重视。数值模拟作为激光推进实验研究的辅助工具,可以精细地刻画实验中难以测量的流场时空演化过程,完成各种复杂环境下激光推进过程的模拟,从而降低推进研究难度,节约试验经费开支,极大地促进激光推进技术的发展。数值模拟中涉及复杂的流场演化计算等过程,数据和计算规模异常庞大,使得模拟过程的时间开销太大而难以满足应用研究的需求,有必要实现并行计算以缩短研究周期。激光推进数值模拟过程包括预处理过程、主程序模拟过程以及后处理过程。预处理过程的主要功能是为数值模拟主程序提供网格信息和设置边界条件。预处理算法的时间复杂度为O(n2)。随着网格规模的增大,预处理的时间代价也增长很快,严重影响了研究进展。论文深入分析了原有算法,发现其耗时长且难以实现并行计算的根本原因是频繁地修改公用数据。然后利用公用数据的特点对程序进行改进,并实现并行计算,这极大地减少了大规模网格的生成时间。主程序利用预处理提供的数据进行数值计算以模拟推进过程,主要包括光线追踪、能量沉积以及流体力学计算三个模块。其中流体力学计算模块控制方程求解最为复杂,耗时最长。流体力学计算模块的控制方程时间积分方式有显式和隐式两种。本文在显式积分并行计算方案的基础上进一步进行了通信优化研究,通过合并小消息以及计算通信重叠的方式减少了并行计算导致的额外开销,提高了并行效率。隐式积分方案与显式积分相比有稳定性好、时间步长大和模拟精度高等优点,被广泛应用于计算流体力学问题中。然而隐式积分方案求解过程比较复杂,求解时间也相对较长,必须采用并行计算技术来减少时间开销。本文对隐式积分算法进行分析和研究,提出采用变化方向的一维数据划分方法,对隐式积分激光推进数值模拟算法实现了并行计算。根据求解方向的变化改变数据划分方式,减弱了数据依赖关系,也避免了固定划分方法中在求解方向上的串行执行,加速了隐式求解过程,提高了程序的并行性能。