论文部分内容阅读
多群辐射扩散方程组的求解是惯性约束聚变数值模拟中非常重要的环节,由于该方程组具有多时空尺度、强非线性、多物理量强耦合等特性,使得其大规模离散化代数系统的高效并行算法设计与实现面临许多挑战.模腔填充问题是一类具有广泛应用前景的颗粒流问题,Trubal是目前国际上模拟模腔填充过程的常用软件包,由于颗粒规模与模拟效率等需求,使得其并行化工作十分重要和迫切.本文围绕求解这两类问题的高效并行解法器开展研究,所获主要成果如下. 针对一类多群辐射扩散问题的有限体积格式所对应的线性代数系统,首先,探讨了基于两种常用预条件子(ILU(k)和 AMG)及其对称与非对称组合型预条件子(Bco和?Bco)的 PGMRES法的可行性,并指出了它们存在的一些缺陷.接着,引入了刻画矩阵多尺度强度和分布的度量,通过分析 AMG-GMRES法适合求解的线性代数系统的特性,以及ILU(0)预条件子对多尺度强度和分布的影响,揭示出ILU(k)和AMG这两个预条件子具有很强的互补性;进一步,通过对ILU(0)进行改进,提高了上述算法的计算效率;基于这些研究工作,并引入ILU(0)-GMRES法收敛速度的阈值,设计出一种自适应组合型AMG预条件子Bαco,数值实验结果表明了 Bαco-GMRES法具有更高的综合运算效率,以及对实际辐射流体力学方程组的大规模数值模拟的适用性.最后,对?Bco-GMRES法的收敛性进行了分析,其中对现有的组合型预条件系统的条件数估计理论进行了修正,这些理论结果为所设计的Bαco提供了一定的理论支撑. 基于 JASMIN并行框架下的网格片层次结构,在一种二维无悬点单层分片结构网格下,针对二维多群辐射扩散问题的有限体积格式所对应的代数系统,通过为网格单元引入相应的网格片关联度属性,对网格单元进行了分类,并为每个网格片 Qi给出了一种基于该分类的序(Ci序),同时还给出了 Ci序与η-字典序(Di序)之间的转换公式.接着,利用Ci和Di序设计了一种并行ILU(0)结构体,并给出了基于该结构体的并行 ILU(0)分解与回代算法;与国际上常用的 Euclid库的数值对比实验结果表明了所设计的并行 ILU(0)具有更高的运算效率.最后,借助 HYPRE中默认的 BoomerAMG与所设计的并行 ILU(0),设计了一种并行Bαco-GMRES法,并研制了相应的并行程序模块;与BoomerAMG-GMRES法的数值对比实验结果表明了新并行解法器具有更好的稳健性和更高的运算效率. 针对一种多介质轴对称二维三温辐射扩散问题的 SFVE格式,首先,给出了相应的变分形式和双线性泛函的若干性质.接着,为 SFVE格式所对应的线性代数系统设计了两种具有简单粗空间的非重叠型 DDM预条件子,其中第二种预条件子对应的 PCG法和 PGMRES法具有更好的收敛性、稳健性和普适性.进一步,在一定的数学假设下,通过详细的理论分析获得了这两种DDM预条件系统的渐近最优条件数估计式O((1+log d/h)3).最后,研制了基于所设计DDM预条件子的并行解法器模块,数值实验结果验证了理论估计式的正确性,同时表明了所研制的并行解法器具有良好的算法与并行可扩展性. 针对模腔填充问题,基于SMP架构和CPU-GPU异构计算架构,围绕Trubal软件包的并行化,首先,通过对原Trubal中采用的全局单精度静态存储结构进行分析,设计了基于局部动态存储结构的具有更好普适性和利于并行化的模块化解法器 Trubal-new.接着,对 Trubal-new中会出现数据竞争的子模块,利用稀疏矩阵技术解决了数据访存冲突问题,并在 OpenMP下研制了相应的并行解法器Trubal-omp.进一步,为Trubal-new在CUDA下利用纹理内存、共享内存与合并访问等 GPU技术研制了相应的并行解法器 Trubal-gpu.最后,针对典型二维和三维模腔填充问题进行了数值模拟,实验结果表明Trubal-omp和Trubal-gpu均具有良好的加速效果.