Hi Barry,
thanks for the reply. We are not using any operator splitting method. Can I
take from your answer that the initial residual norm is not recommended then?
We are solving a diffusion equation with FD and implicit time stepping (mostly
euler, sometimes crank Nicholson.)
Regards,
Daniel
Von: Barry Smith
Gesendet: Montag, 3. Februar 2025 17:17
An: Abele, Daniel
Cc: petsc-users@mcs.anl.gov
Betreff: Re: [petsc-users] KSP: when to use initial residual norm
(ksp_converged_use_initial_residual_norm)
On Feb 2, 2025, at 1:09 PM, Daniel.Abele--- via petsc-users
mailto:petsc-users@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