[petsc-users] KSP: when to use initial residual norm (ksp_converged_use_initial_residual_norm)
Barry Smith
bsmith at petsc.dev
Mon Feb 3 10:16:36 CST 2025
> On Feb 2, 2025, at 1:09 PM, Daniel.Abele--- via petsc-users <petsc-users at mcs.anl.gov> wrote:
>
> Hi,
> we are solving a time dependent problem with a single KSP in every time step. We are debating which convergence criterion to use. Is there general guidance around when to use one of the norms with initial residual (ksp_converged_use_initial_residual_norm or ksp_converged_use_min_initial_residual_norm) over the default norm?
> If I understand the formulas correctly, the initial residual norm “norm(b – A * x0)” (maybe add preconditioning) means that if you have a very good initial guess (as is often the case in time dependent problems if you can use the result if the last time step as initial guess), the norm is much stricter than the default norm “norm(b)”.
The above statement is correct.
> Is this meant as a way to control error accumulation over time? Or does it have some other purpose?
> Thanks and Regards,
> Daniel
For splitting-type methods, you want the error in the linear system solve, e, to be on the same order as the maximum error from the splitting, the explicit time-step discretization, and the implicit time-step discretization. So you need some estimate of that value.
Now
|| e ||_2 < || B(b - Ax) ||_2
-------------------
\lambda_min(BA).
For this you need a handle on \lambda_min(BA) which you can obtain with Lanczo using -ksp_monitor_singular_values. So the converge criteria should really depend on setting the -ksp_atol using the required bound on || e ||_2 and \lambda_min(BA).
PETSc should provide this convergence test but no one has gotten around to adding it.
Barry
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20250203/991d5ad2/attachment-0001.html>
More information about the petsc-users
mailing list