[petsc-users] Computing residual norm in KSPFGMRESCycle()
Dave Lee
davelee2804 at gmail.com
Thu Jul 4 19:29:29 CDT 2019
Hi PETSc,
I have a problem for which I need to exclude certain degrees of freedom
from the evaluation of the norm as used to monitor the residual in FGMRES
(don't ask!). Therefore I would like to replace the existing norm
evaluation with my own version.
Currently this is done within:
KSPFGMRESUpdateHessenberg(ksp,loc_it,hapend,&res_norm)
as:
*res = PetscAbsScalar(*RS(it+1));
Firstly, I would like to make sure I can replicate the existing residual
norm. I tried to do this as:
KSPFGMRESUpdateHessenberg(ksp,loc_it,hapend,&res_norm);
KSPFGMRESBuildSoln(fgmres->nrs,ksp >vec_sol,tmp_sol,ksp,loc_it);
VecNorm(tmp_sol,NORM_2,&res_tmp);
VecNorm(ksp->vec_rhs,NORM_2,&res_rhs);
res_norm = fabs(res_tmp-res_rhs);
But this doesn't match the norm that comes out of UpdateHessenberg.
Any ideas on how I can re-create the norm derived from UpdateHessenberg as
an expansion over the Kyrlov vectors in FGMRES?
Cheers, Dave.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20190705/0ff4c5e3/attachment.html>
More information about the petsc-users
mailing list