<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi all,<br>
I am solving a four field problem using two Schur complements. Here
are the arguments that I usually pass to PETSc to do it:<br>
<blockquote>-ksp_type gmres -pc_type fieldsplit -pc_fieldsplit_type
schur -pc_fieldsplit_schur_factorization_type full
-pc_fieldsplit_schur_precondition selfp -pc_fieldsplit_0_fields
2,3 -pc_fieldsplit_1_fields 0,1 -fieldsplit_0_ksp_type preonly
-fieldsplit_0_pc_type fieldsplit -fieldsplit_0_pc_fieldsplit_type
schur -fieldsplit_0_pc_fieldsplit_schur_factorization_type full
-fieldsplit_0_pc_fieldsplit_schur_precondition selfp
-fieldsplit_0_fieldsplit_Field_2_fields 2
-fieldsplit_0_fieldsplit_Field_3_fields 3
-fieldsplit_0_fieldsplit_Field_2_ksp_type preonly
-fieldsplit_0_fieldsplit_Field_2_pc_type ilu
-fieldsplit_0_fieldsplit_Field_3_ksp_type preonly
-fieldsplit_0_fieldsplit_Field_3_pc_type jacobi
-fieldsplit_1_ksp_type preonly -fieldsplit_1_pc_type lu
-malloc_log mlog -log_summary time.log<br>
</blockquote>
One issue with this is that when I change
-fieldsplit_0_fieldsplit_Field_2_fields 2 to
-fieldsplit_0_fieldsplit_Field_2_fields 3 it is ineffective, as if
PETSc automatically assign IS 2 to Field 2 even though it is not
what I want.<br>
Is there a way to pass the arguments correctly so that PETSc goes
about switching the IS set of -fieldsplit_0_fieldsplit_Field_2 and
-fieldsplit_0_fieldsplit_Field_3?<br>
This is crucial to me since I am using the selfp option and the
matrix associated to IS 3 is diagonal. By assigning the fields
correctly I can get an exact Schur preconditioner and hence very
fast convergence. Right now my convergence is not optimal because of
this.<br>
Thanks!<br>
<br>
Best,<br>
Luc<br>
</body>
</html>