The coarse solve for the trace system in the hybridised solve just does a single block jacobi iteration with LU on each rank, rather than a global solve like you would usually have on the coarse level. For that specific case it is possibly ok because it looks like GAMG coarsens so aggressively that the coarse problem ends up being tiny, and it is gathered onto a single rank so the per-rank LU actually is a global LU. But for other cases it may not end up doing this. It may be worth checking other cases, and deciding whether it is worth specifying the coarse solve explicitly in the solver options in solver_presets.py
Thanks for pointing this out @JHopeCollins !
The coarse solve for the trace system in the hybridised solve just does a single block jacobi iteration with LU on each rank, rather than a global solve like you would usually have on the coarse level. For that specific case it is possibly ok because it looks like GAMG coarsens so aggressively that the coarse problem ends up being tiny, and it is gathered onto a single rank so the per-rank LU actually is a global LU. But for other cases it may not end up doing this. It may be worth checking other cases, and deciding whether it is worth specifying the coarse solve explicitly in the solver options in solver_presets.py
Thanks for pointing this out @JHopeCollins !