I'm trying to numerically solve a simple Laplace equation in 2D, with a nonlinear source term:
$\nabla^2 u = u^2$
with boundary conditions as $u=0$ everywhere except for $y=1$ where $u=u_0$. I'm using scipy's newton_krylov solver (method="lgmres") to minimized the discretized equation using the finite-difference method.
Here's the problem: for relatively small values of $u_0$ such as $u_0=1$, LGMRES converges relatively fast with fewer than 7 iterations. However, when I increase $u_0$ to $10$ or $100$, the the solver converges much slower and needs on the order of O(1000) iterations to converge.
Is this an expected behaviour of Newton-Krylov solvers? If so, what can I do to alleviate the issue?