Adriano Côrtes <[email protected]> writes: > 2013/12/14 Jed Brown <[email protected]> >> >> See that "fieldsplit_p_" uses a MATSCHURCOMPLEMENT and actually iterates >> on that reduced system. This is different from what is typically done >> in full-space iterative methods. >> > > Dear Jed, > Can you elaborate more this comment? What is a MATSCHURCOMPLEMENT > object? You mean that S is built? Or is it matrix-free as you said > bellow?
It is a special Mat type that applies the action of the Schur complement via the definition rather than by explicitly computing its entries. This is often referred to as "matrix-free", though it is still a Mat in PETSc (Mat in PETSc means "finite-dimensional linear operator"). >> Use -ksp_converged_reason to find out why the linear solve above did not >> converge. Maybe due to an indefinite preconditioner? >> > > This was there result of -ksp_converged_reason > > 0 SNES Function norm 9.644918978350e-02 > 0 KSP Residual norm 1.297271248442e-01 > Linear solve did not converge due to DIVERGED_INDEFINITE_MAT iterations 1 > 1 SNES Function norm 9.644918978350e-02 > Nonlinear solve did not converge due to DIVERGED_LINEAR_SOLVE iterations 1 > SNES Object: 1 MPI processes > > This I didn't understand, because minres is supposed to work for > symmetric indefinite matrices. Isn't it? What am I missing here? MINRES requires an SPD preconditioner. As I guessed earlier, you may have just gotten the sign wrong for the preconditioner. > I will take a look. Thanks. But just to know if I set > -fieldsplit_p_ksp_type preonly -fieldsplit_p_pc_type ksp, how do I > choose the ksp? -fieldsplit_p_ksp_ksp_type cg. > Multigrid V-cycle as you said is the default in this case? No, but it would be a good choice if the pressure Schur complement is similar to a Laplacian. For Stokes (as opposed to finite-time step or Navier-Stokes), the Schur complement is spectrally equivalent to a scaled mass matrix, so most people use Jacobi.
pgpeMXLs4LrNv.pgp
Description: PGP signature
