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.
