The solution looks pretty much as I expect until some point in time when the solver does not converge.
Strange, I just copied and pasted your code, ran with 4 processes, and it worked…
- In the first timestep the solver takes much longer to converge than in the other ones (18 iterations vs 3 or 4 in the subsequent ones).
This is because your initial state/guess is probably very poor. Subsequent initial guesses are using the solution from the previous time step, which should be deeper in an attractor region.
- In all timeteps in the first iteration of the solver the residual increases before decreasing and converging to the solution I don’t know if this is common or if I should check if my residual is well defined.
Is your chosen value of dt_n
appropriate?
Newton iteration 0: r (abs) = 3.977e+14 (tol = 1.000e-10) r (rel) = 1.000e+00 (tol = 1.000e-06)
Your residuals’ absolute norms are huge. I’d highly recommend you non dimensionalise for n0
and u0
.
There are some general tips and tricks for solving nonlinear problems I wrote a while ago here.
I don’t really know what else to suggest. But if it were me, I’d manufacture a solution such that I could check convergence rates. That way I’d have far more confidence that I’m solving the equations I think I’m solving.