On 5 Nov 2018, at 10:14, Floriane Gidel [RPG] <mmfg@leeds.ac.uk> wrote:
Yes, that works !
Linear firedrake_0_ solve converged due to CONVERGED_ITS iterations 1 Nonlinear firedrake_0_ solve converged due to CONVERGED_ITS iterations 1
David also suggested to use a direct solver but I did not use the option "mat_type": "aij". I'll read the doc about the options you suggested so I (hopefully) don't need to ask next time. Many many thanks, also for answering so fast. I'll do the test of convergence again to make sure it converges to the exact solution, but I expect it still does.
OK, so this suggests that the iterative solver you get by default for this problem is rather weak. It's "just" a laplacian with a discontinuous coefficient and one internal jump condition. So it may well be that you can use: parameters = {"mat_type": "aij", "pc_type": "hypre", "ksp_type": "cg", "snes_type": "ksponly"} You should also run with "ksp_monitor": True while testing to ensure that you converge in a small number of iterations. If you're only going to do 2D problems, depending on the size, up to around 100000 dofs in total is probably fastest with a direct solver. Cheers, Lawrence