Steady state convergence tolerance

Numerical methods and mathematical models of Elmer
Post Reply
Roland
Posts: 231
Joined: 12 Apr 2018, 11:29
Antispam: Yes

Steady state convergence tolerance

Post by Roland »

Hi,
Concerning the linear/non linear convergence tolerance of a solver is roughly ok for me about the understanding of how it works.
But I don't understand how the "Steady state convergence tolerance" works when using a solver. How is this convergence tolerance taken into account?
Could somebody give some explanations about this?
Thanks in advance for any help!
Roland
kevinarden
Posts: 2319
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Steady state convergence tolerance

Post by kevinarden »

I believe the linear/non linear convergence tolerance of a solver applies to that individual solver.
Each individual solver stops when it converges. Then the next solver starts.

The steady state convergence applies to the equation which is the combination of all the solvers

A common stopping criterion applies a residual level for the equation, below which the equation is deemed to be converged. When the equation satisfy the respective residual control, the simulation then stops.
Roland
Posts: 231
Joined: 12 Apr 2018, 11:29
Antispam: Yes

Re: Steady state convergence tolerance

Post by Roland »

Hi,
Thanks Kevin for your reply.
But how could this stopping criterion be applied to the equation? What is the error expression defined for this equation which gathers all the concerned solvers? Is there something like a flowchart which could describe this kind of convergence test?
Thanks in advance for any help!
Roland
raback
Site Admin
Posts: 4832
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: Steady state convergence tolerance

Post by raback »

Hi Roland,

The convergence criterion is |u_i - u_j| < c*(|u_i|+|u_j|)/2, where c is the tolerance. For nonlinear system j refers to previous nonlinear iterate. For coupled system j refers to the solution of the previous time the coupled system visited the solver.

Generally it may be a good idea that the tolerances for linear system are the tightest, for nonlinear system a little sloppier, and for steady state system even more so. For example, values 1.0e-8, 1.0e-5 and 1.0e-4 could be used.

-Peter
Roland
Posts: 231
Joined: 12 Apr 2018, 11:29
Antispam: Yes

Re: Steady state convergence tolerance

Post by Roland »

Hi Peter,
Thanks for your answer.
But I still don't feel exactly what this convergence criterion (which I understand for non-linear and linear iterations when using a solver) is for " steady state ". What do you mean exactly by "Steady state" ? What confuses me is that you refer to non-linear systems, then to coupled systems. Can you please explain what is exactly the "Steady state" compared with a nonlinear system and a coupled system? And why is it necessary to have a convergence tolerance for "Steady state"?
Thanks in advance
Roland
Roland
Posts: 231
Joined: 12 Apr 2018, 11:29
Antispam: Yes

Re: Steady state convergence tolerance

Post by Roland »

Hi Peter,
After thinking this "Steady state convergence tolerance" matter a bit more and after reading one of your former post explaining the 3 convergence nested levels (liner, nonlinear and loosely coupled equations system) I think I understand now what is the "Steady state": when several equations are loosely coupled you have to iterate from one to the other equation , and this until the multiphyisic solution is converged thanks to the "Steady state convergence tolerance". I guess that this is the same as what is called "segregated solver" in Comsol. At last I think I understand now that this has nothing to do with the "physical steady state" of a model...
I let you confirm if I am on the right way...
Thanks in advance.
Roland
Roland
Posts: 231
Joined: 12 Apr 2018, 11:29
Antispam: Yes

Re: Steady state convergence tolerance

Post by Roland »

...Sorry, my former post has been interrupted.
I continue it here after:
I am still trying to better understand how all the linear, nonlinear, steady_state convergence tolerances interact in a time dependant nonlinear multiphysics coupled problem. In the Elmer solver manual a pseudo-code describes the "basic loosely coupled iteration scheme" employed by the Elmer solver and using the nonlinear Gauss-Seidel iteration method, which is interesting for understanding how a coupled system is managed.
If we take for instance following time dependant non linear coupled system with 2 dependant variables u1 and u2:
F1(u1,u2)=0
F2(u1,u2)=0 (with F1 including time dependance of u1 with time, and F2 including time dependance of u2 with time for instance),
could it be possible to write a pseudo-code showing how the linear, nonlinear, steady_state convergences and time steps interact?
I think that such a pseudo-code (flow chart?) would be very iteresting for a better understanding of the real working of the solver.
Thanks in advance for any help about that.
Roland
Post Reply