> On Feb 2, 2025, at 1:09 PM, Daniel.Abele--- via petsc-users > <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