Good afternoon PETSC users, I am looking for some suggestions on preconditioners/solvers.
Currently, I have a custom preconditioner that solves 4 independent systems, let's call them A,B,C, and D. A is an advective, diffusive, reactive system, although due to some coefficient it is the system with the highest condition number and therefore the most difficult to solve. B and C, are more "standard" advective, diffusion, reactive systems. The condition number is not as high as A. D is simply the laplacian used to solve an elliptic Poisson equation. For more context, A,B, and C need to be recomputed about once every time step, while D is a one time cost. The problem is 2-D, sizes are on the order of 1-10 million grid points, and I am using a structured grid. These usually run on somewhere between 100-400 processors. Currently I am solving A,B, and C with the HYPRE Euclid algorithm ILU(1), and D is solved with the direct solver MUMPS. While these were very useful to get the code working, I am now trying to get better parallel scaling/efficiencies and performance. HYPRE euclid does not seem to scale super well beyond like 60 procs, and MUMPS has very large memory requirements. Does anyone have suggestions on more scalable ILU algorithms for A,B, and C, or any other good alternatives? >From what I have read, multigrid methods are probably the best alternative for D, but I have very little experience with these and they seem to require a lot of parameters. Does anyone have pointers on a good setup for a multigrid preconditioner? Thank you and have a good day, -Alfredo -- Alfredo Duarte Graduate Research Assistant The University of Texas at Austin
