9 std::stringstream ostr;
12 case KSP_CONVERGED_RTOL_NORMAL :
13 ostr <<
"KSP_CONVERGED_RTOL_NORMAL";
15 case KSP_CONVERGED_ATOL_NORMAL :
16 ostr <<
"KSP_CONVERGED_ATOL_NORMAL";
18 case KSP_CONVERGED_RTOL :
19 ostr <<
"KSP_CONVERGED_RTOL";
21 case KSP_CONVERGED_ATOL :
22 ostr <<
"KSP_CONVERGED_ATOL";
24 case KSP_CONVERGED_ITS :
25 ostr <<
"KSP_CONVERGED_ITS";
27 case KSP_CONVERGED_CG_NEG_CURVE :
28 ostr <<
"KSP_CONVERGED_CG_NEG_CURVE";
30 case KSP_CONVERGED_CG_CONSTRAINED :
31 ostr <<
"KSP_CONVERGED_CG_CONSTRAINED";
33 case KSP_CONVERGED_STEP_LENGTH :
34 ostr <<
"KSP_CONVERGED_STEP_LENGTH";
36 case KSP_CONVERGED_HAPPY_BREAKDOWN :
37 ostr <<
"KSP_CONVERGED_HAPPY_BREAKDOWN";
40 case KSP_DIVERGED_NULL :
41 ostr <<
"KSP_DIVERGED_NULL";
43 case KSP_DIVERGED_ITS :
44 ostr <<
"KSP_DIVERGED_ITS";
46 case KSP_DIVERGED_DTOL :
47 ostr <<
"KSP_DIVERGED_DTOL";
49 case KSP_DIVERGED_BREAKDOWN :
50 ostr <<
"KSP_DIVERGED_BREAKDOWN";
52 case KSP_DIVERGED_BREAKDOWN_BICG :
53 ostr <<
"KSP_DIVERGED_BREAKDOWN_BICG";
55 case KSP_DIVERGED_NONSYMMETRIC :
56 ostr <<
"KSP_DIVERGED_NONSYMMETRIC";
58 case KSP_DIVERGED_INDEFINITE_PC :
59 ostr <<
"KSP_DIVERGED_INDEFINITE_PC";
61 case KSP_DIVERGED_NANORINF :
62 ostr <<
"KSP_DIVERGED_NANORINF";
64 case KSP_DIVERGED_INDEFINITE_MAT :
65 ostr <<
"KSP_DIVERGED_INDEFINITE_MAT";
69 ostr <<
"Unknown convergence reason.";
std::string GetPETScConvergedReasonstring(KSPConvergedReason reason)