Hello, Yes, the boundary layer is important to the problem and is resolved by the mesh, although it is a very small part of the mesh.
Thanks, -Alfredo On Thu, May 19, 2022 at 1:03 PM Matthew Knepley <[email protected]> wrote: > On Thu, May 19, 2022 at 8:00 AM Alfredo J Duarte Gomez < > [email protected]> wrote: > >> 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. >> > > Is your mesh resolving the boundary layers? > > Thanks, > > Matt > > >> 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 >> > > > -- > 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
