2024/08/15 by Steven Dargaville, R.P. Smedley‐Stevenson, Dargaville, S. +5 · 1 citation
Engineering · Physics and Astronomy · #Advanced Thermodynamics and Statistical Mechanics #Computational Physics (physics.comp-ph) #FOS: Mathematics #FOS: Physical sciences #Lattice Boltzmann Simulation Studies #Nanopore and Nanochannel Transport Studies #Numerical Analysis (math.NA)
paper · pdf · doi:10.48550/arxiv.2408.08262
openalex publication_date 2024/08/15 · openalex created_date 2025/01/03 · openalex updated_date 2026/07/28
Reduction multigrids have recently shown good performance in hyperbolic problems without the need for Gauss-Seidel smoothers. When applied to the hyperbolic limit of the Boltzmann Transport Equation (BTE), these methods result in very close to O(n) growth in work with problem size on unstructured grids. This scalability relies on the CF splitting producing an A_\textrmff block that is easy to invert. We introduce a parallel two-pass CF splitting designed to give diagonally dominant A_\textrmff. The first pass computes a maximal independent set in the symmetrized strong connections. The second pass converts F-points to C-points based on the row-wise diagonal dominance of A_\textrmff. We find this two-pass CF splitting outperforms common CF splittings available in hypre. Furthermore, parallelisation of reduction multigrids in hyperbolic problems is difficult as we require both long-range grid-transfer operators and slow coarsenings (with rates of ∼1/2 in both 2D and 3D). We find that good parallel performance in the setup and solve is dependent on several factors: repartitioning the coarse grids, reducing the number of active MPI ranks as we coarsen, truncating the multigrid hierarchy and applying a GMRES polynomial as a coarse-grid solver. We compare the performance of two different reduction multigrids, AIRG (that we developed previously) and the hypre implementation of ℓAIR. In the streaming limit with AIRG, we demonstrate 81% weak scaling efficiency in the solve from 2 to 64 nodes (256 to 8196 cores) with only 8.8k unknowns per core, with solve times up to 5.9× smaller than the ℓAIR implementation in hypre.