Modified Euler Equations with dolfin_dg

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.

1 Like