[petsc-users] KSP not converge when turn on ksp_monitor_true_residual

Y. Shidi ys453 at cam.ac.uk
Fri Jun 5 05:12:33 CDT 2020


Dear developers,

We are using filed splitting method solve saddle point problem.
Below is our ksp configuration:

   PetscOptionsSetValue(NULL,"-ksp_type","gmres");
   PetscOptionsSetValue(NULL,"-ksp_initial_guess_nonzero","");
   PetscOptionsSetValue(NULL,"-ksp_rtol","1e-20");
   PetscOptionsSetValue(NULL,"-ksp_converged_reason", "");
   PetscOptionsSetValue(NULL,"-pc_type", "fieldsplit");
   PetscOptionsSetValue(NULL,"-pc_fieldsplit_type", "schur");
   PetscOptionsSetValue(NULL,"-pc_fieldsplit_schur_fact_type", "lower");
   PetscOptionsSetValue(NULL,"-pc_fieldsplit_schur_precondition", 
"selfp");
   PetscOptionsSetValue(NULL,"-fieldsplit_0_ksp_type", "preonly");
   PetscOptionsSetValue(NULL,"-fieldsplit_0_pc_type", "hypre");
   PetscOptionsSetValue(NULL,"-fieldsplit_1_ksp_type", "preonly");
   PetscOptionsSetValue(NULL,"-fieldsplit_1_pc_type", "hypre");

It can be converged. However, when we turn on the ksp monitor:

   PetscOptionsSetValue(NULL,"-ksp_monitor_true_residual", "");

It won't converge. It seems very odd, I am wondering why it happens.

Thank you for your time and help.

Kind regards,
Shidi


More information about the petsc-users mailing list