Hi,
I am solving non-linear problem that has 5 unknowns {ni, T, E, B, V}, and for
the preconditioning part, I am using a FieldSplit preconditioner. At the last
fieldsplit/level, we are left with a {B,V} block that tried to precondition in
2 different ways:
a) SuperLU:
-fieldsplit_TEBV_fieldsplit_EBV_fieldsplit_BV_ksp_type preonly
-fieldsplit_TEBV_fieldsplit_EBV_fieldsplit_BV_pc_type lu
-fieldsplit_TEBV_fieldsplit_EBV_fieldsplit_BV_pc_factor_mat_solver_type
superlu_dist
b) a Schur-based fieldsplit preconditioner that uses SuperLU for both V and B
blocks:
-fieldsplit_TEBV_fieldsplit_EBV_fieldsplit_BV_ksp_type gmres
-fieldsplit_TEBV_fieldsplit_EBV_fieldsplit_BV_pc_type fieldsplit
-fieldsplit_TEBV_fieldsplit_EBV_fieldsplit_BV_pc_fieldsplit_type schur
-fieldsplit_TEBV_fieldsplit_EBV_fieldsplit_BV_pc_fieldsplit_schur_precondition
selfp -fieldsplit_TEBV_fieldsplit_EBV_fieldsplit_BV_fieldsplit_B_ksp_type
preonly -fieldsplit_TEBV_fieldsplit_EBV_fieldsplit_BV_fieldsplit_B_pc_type lu
-fieldsplit_TEBV_fieldsplit_EBV_fieldsplit_BV_fieldsplit_B_pc_factor_mat_solver_type
superlu_dist
-fieldsplit_TEBV_fieldsplit_EBV_fieldsplit_BV_fieldsplit_V_ksp_type preonly
-fieldsplit_TEBV_fieldsplit_EBV_fieldsplit_BV_fieldsplit_V_pc_type lu
-fieldsplit_TEBV_fieldsplit_EBV_fieldsplit_BV_fieldsplit_V_pc_factor_mat_solver_type
superlu_dist
Option a) yields the following error:
" Linear fieldsplit_ni_ solve converged due to CONVERGED_ATOL iterations 0
Linear fieldsplit_TEBV_fieldsplit_tau_ solve converged due to
CONVERGED_RTOL iterations 1
Linear fieldsplit_TEBV_fieldsplit_EBV_fieldsplit_EP_ solve converged
due to CONVERGED_RTOL iterations 5
Linear fieldsplit_TEBV_fieldsplit_EBV_fieldsplit_BV_ solve did not
converge due to DIVERGED_PC_FAILED iterations 0
PC failed due to FACTOR_NUMERIC_ZEROPIVOT "
whereas options b) seems to be working well.
Is it possible that the SuperLU on the {V,B} block uses a reordering that
introduces a zero pivot or could there be another explanation for this error?
Many thanks.
Best,
Zakariae