Andrew -- Maybe I can give some advice on helpful PETSc options. 1. Presumably you are asking solve() to do your problem in form "F==0". Then PETSc's nonlinear solver SNES is used. This is not a problem at all for your linear job; just set -snes_type ksponly. If you keep the default -snes_type (namely newtonls) then the solver is doing one step of Newton's method, which should solve your linear problem. Use -snes_converged_reason and/or -snes_view to get more info on this. 2. You indicate that the problem is elliptic. Is it self-adjoint? (E.g. no first order term?) If so, -ksp_type cg should work. If not, or just for variety, might also try -ksp_type gmres. 3. Though it will be slow, the best way to find out if the assembled linear problem is really solvable, e.g. whether you have good boundary conditions, is to use a direct solver. Namely -snes_type ksponly -ksp_type preonly -pc_type lu. What do you get from these options? (Was this even helpful?) Ed On Tue, Jan 26, 2021 at 7:33 PM Andrew Hicks <ahick17@lsu.edu> wrote:
Dear Firedrakers,
I’ve encountered a problem recently in trying to solve a particular PDE. This problem is elliptic in five dimensions, and I am working on a spherical shell mesh with outer radius 1. In Gmsh I’ve set the element size factor to be 0.05 and this works just fine, however when I refine the mesh to a size factor of 0.02, this results in the “nonlinear solver failing to converge after 0 nonlinear iterations” with the reason of DIVERGED_LINEAR_SOLVE. I find this a bit confusing especially since the problem I’m solving is linear.
Any advice on how to solve this or why it might be happening? I’m using a ksp type of “cg” and a pc type of “gamg.” Maybe I should try something different?
Andrew Hicks _______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake
-- Ed Bueler Dept of Mathematics and Statistics University of Alaska Fairbanks Fairbanks, AK 99775-6660 306C Chapman