PCAIR#
Reduction-based algebraic multigrid using approximate ideal restriction (AIR), providing the AIRG, nAIR and lAIR methods for nonsymmetric/asymmetric linear systems
Options Database Keys#
-pc_air_z_type (product|lair|lair_sai) - grid-transfer operator type
-pc_air_inverse_type (power|arnoldi|newton|neumann|sai|isai|wjacobi|jacobi) - approximate inverse used for smoothing
-pc_air_poly_order poly_order - polynomial order if using a polynomial inverse type
-pc_air_smooth_type smooth_type - type and number of smooths, any sequence of f and c characters (for example ff, fc, fcf)
-pc_air_cf_splitting_type (pmisr_ddc|diag_dom|pmis|pmis_dist2|agg|pmis_agg) - CF splitting to use
-pc_air_strong_threshold strong_threshold - strong threshold used in the CF splitting
-pc_air_r_drop drop_tol - drop tolerance applied to R on each level after it is built
-pc_air_a_drop drop_tol - drop tolerance applied to the coarse matrix on each level after it is built
-pc_air_print_stats_timings (true|false) - print statistics about the multigrid hierarchy and timings
Notes#
PCAIR requires configuring PETSc with --download-pflare.
The combination of -pc_air_z_type and -pc_air_inverse_type selects the reduction
multigrid: product + arnoldi gives AIRG, lair + wjacobi gives lAIR, and so on.
Only the most common options are listed here. See PFLAREProject/PFLARE
and its docs/options.md for the complete set, and the many PCAIRSetXXX() routines.
PCAIR can use GPUs in both its setup and solve: configure PETSc with Kokkos and the
relevant GPU backend (CUDA, HIP or SYCL), then specify the matrix/vector types as the
PETSc Kokkos types (for example -mat_type aijkokkos -vec_type kokkos, or
-dm_mat_type aijkokkos -dm_vec_type kokkos if using a DM).
If you use PCAIR please cite S. Dargaville et al., “AIR multigrid with GMRES polynomials
(AIRG) and additive preconditioners for Boltzmann transport”, J. Comput. Phys. 518 (2024) 113342.
See Also#
KSP: Linear System Solvers, PCCreate(), PCSetType(), PCType, PC, PCPFLAREINV, PCHYPRE, PCGAMG, PCMG
Level#
intermediate
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages