Hello Matthew, Thank you for your suggestion on the Laplace solver.
About the other systems I would say B and C are mostly dominated by advection, except for diffusive layers at the boundaries. A is a bit more difficult to judge, although it can be expected to have a very large advective component, it also has a large reactive component, and the diffusion dominated layers at the boundaries. Thank you, -Alfredo On Thu, May 19, 2022 at 12:31 PM Matthew Knepley <[email protected]> wrote: > On Thu, May 19, 2022 at 7:27 AM Alfredo J Duarte Gomez < > [email protected]> wrote: > >> 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? >> > > Are these advectively dominated? > > >> 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? >> > > This is the easy one. If you are using DMDA, just turn on -pc_type mg and > give a number of levels and it should be fine. If not, then use GAMG and it > should be fine, You could also use Hypre Boomeramg for this since it is > optimized for the 2D Laplacian. > > Thanks, > > Matt > > >> Thank you and have a good day, >> >> -Alfredo >> >> -- >> Alfredo Duarte >> Graduate Research Assistant >> The University of Texas at Austin >> > > > -- > What most experimenters take for granted before they begin their > experiments is infinitely more interesting than any results to which their > experiments lead. > -- Norbert Wiener > > https://www.cse.buffalo.edu/~knepley/ > <http://www.cse.buffalo.edu/~knepley/> > -- Alfredo Duarte Graduate Research Assistant The University of Texas at Austin
