Details on residual tolerance values and pseudo iterations

Hi, i’m sukyung yoon

I run incompressibility simulation(AC-NS) using dimensionless variables and compressibility simulation(NS) using dimension values. Previously, as an preparation process, ILES simulations were performed without using a pi controller. Now I want to use the PI controller.

How is the resid-tol calculated?
Is the appropriate pseudo-resid-tol value determined for the calculation of incompressibility(non-dimensional) and compressibility(dimensional)?

I saw the case of using “pseudo-resid-tol-p” in the forum, Is it used when multi-p is applied? Do I have to enter value essentially ?

How is “absolute error tolerance(atol)” calculated?
How much value do you enter in the incompressibility(non-dimensional) and compressibility(dimensional) calculation?

In the existing setting, pseudo-niters-max used a value of 10 to 20. In the compressibility(NS) simulation using the dimension value, it was confirmed that 100 hours of calculation time was required if pseudo-niters-max=10. Can I keep this value for using the pi controller?

When pseudo-niters-max was set to 100 at the same time as the pi controller was turned on, the initial calculation time was estimated to be 800 hours. Is it possible to confirm that time has decreased only when all interpretations are finished?


The way the residual is calculated depends on the norm. Generally speaking, when you are solving an implicit system you are solving for the fixed point

\frac{\partial \mathbf{q}}{\partial t} + \nabla\cdot\mathbf{F}=0

at some time t. The residual at a point i is defined as

\frac{\partial \mathbf{q}_i}{\partial t} + \nabla\cdot\mathbf{F}_i=\mathbf{R}_i

For each variable in the system (e.g. ACM in 2D has P, u, v), you have a residual.
Then for each variable we calculate a global residual using the l2 norm or l-inf norm:

\mathcal{R}_u = \sqrt{\sum_i \mathcal{R}_{u,i}^2} \quad \mathrm{or}\quad \mathcal{R}_u=\max_i{|\mathcal{R}_{u,i}|}

When you are solving the system, this is then done to some tolerence set in the ini file with pseudo-resid-tol. Alternatively, you can set the tolerence for a variable to be different such as pseudo-resid-tol-p set the pressure residual. (Useful as often ACM calculations are more sensitive to the pressure residual).

The max pseudo iteration is just the maximum number of iterations you’d like to use for the solving the system at each step. Generally you don’t want to be taking the max number of pseudo steps at every step as this implies that you aren’t meeting your desired tolerence. To reduce the runtime you can use psuedo adaptive local time stepping and p-multigrid.

Does that answer most of your questions?