[Archive] Comvergence problems

Message by Mike:

I encounter constantly convergence problems (newton algorithm) with more complex simulations, especially at higher densities. I already raised the iteration limit to the maximum (ca. 65500), and I increased the tolerance, but I still have problems. Especially the time step in the simulation produces thos convergence flaws, with the consequence, that no futher S/C potential is calculated (it remains 0.0 V for thr rest of the simulation). This behaviour doesnt occur, if the convergence fails at a later point during the simulation run.
So my questions are:

Are there any tricks or additional things I can do to stabilise the simulations ?
Why does the simulation effectivly stop to produce S/C potential data after the breakdown in the first step?

best regards,

Message by Roussel:

Hi Mike,
when testing and debugging the Poison solver, we encountered two types of divergences:

  • real ones (errors become big), which we fixed
  • apparent ones: error remains small but does not become small enough, the apparent issue was due to a too strict stopping criterion when the initial potential is unformally zero (what may be the case for you, although we improved that, you may try starting with non-zero SC pot)

Also a question: how large is your large density ?
The solver has mostly been tested at large LEO densities (10^12/m3), not EP densities (~ 10^16/m3 in the center of the plume).
If you are using such large densities at SC scale, you may get cell_size/debye_length ratios as enormous as maybe 10,000!
Remember that without a Newton implicit algorithm for non-linear Poisson eq. solving, coupled Poisson_equation-Boltzmann_elec_distribution system is already unstable for cell_size/debye_length ratio > 1 !

In such a case a quasi neutral solution would indeed be best.
I could certainbly implement that rather easily.
You can also take a look at solveNonLinear method in ConjGrad3DUnstructPoissonSolver class:

  • neutral plasma is used as initialisation when Debye length is small (look at the comments)
  • then the solver is called

In case of very small Debye length you may comment the solver call => you’ll remain in the neutral hypothesis.
Don’t forget then to recompile and put your classes in spis.jar (cf. documentation).
You can also send me more information on your test case, possibly by e-mail with attachement (roussel at onecert dot fr) as long as no repository zone is available

Message by Mike:

well, that should do for now. Thanks for the information, I’ll consider that change in the code. However, I 'll also try to get the mesh denser at critical points, that should help to improve convergence. From observation, I can also say, that increasing capacitance and decreasing the plasmadt parameter for the timesteps also helps.
The denisties I was talking about are around 10^13 /m3, but with a large model (>22.000 elements).
I’ll also try the initPot stuff.
Thanks for the ideas…

Michael Klicker