I couldn't resist. Please forgive me.
________________________________ From: [email protected] <[email protected]> on behalf of Matthew Knepley <[email protected]> Sent: Tuesday, July 4, 2017 10:10:38 AM To: Harshad Sahasrabudhe Cc: PETSc Subject: Re: [petsc-users] Setting GAMG options C code On Tue, Jul 4, 2017 at 9:06 AM, Harshad Sahasrabudhe <[email protected]<mailto:[email protected]>> wrote: ierr = PetscOptionsSetValue(NULL, "-st_mg_levels_ksp_type", "chebyshev"); chkerr(ierr); ierr = PetscOptionsSetValue(NULL, "-st_mg_levels_pc_type", "jacobi"); chkerr(ierr); ierr = PetscOptionsSetValue(NULL, "-st_mg_levels_ksp_max_it", "8"); chkerr(ierr); ierr = PetscOptionsSetValue(NULL, "-st_pc_gamg_threshold", "0.01"); chkerr(ierr); I have a different opinion than Jose. I think the above lines are a better way to lock in the setup. 1) It is very difficult to get the order correct when you use the API 2) For deeply nested solvers it can be either inflexible (you assume a structure) or laborious (since you check for certain structures at each level) Thanks, Matt Thanks Matt! I will use it by setting options. I have one question though: What happens if there are 2 conflicting options? Last one wins, just like sports. Matt -- 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 http://www.caam.rice.edu/~mk51/
