<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>