[petsc-users] Fieldsplit for 4 fields

Tang, Qi tangqi at msu.edu
Fri Mar 11 14:31:49 CST 2022


Hi,
I am trying to solve a four field system with three nested fieldsplit (I am in petsc/dmstag directly). I think I have all the IS info in the original system. I am wondering how to set up IS for the split system.

More specifically, I would like to call something like this
-pc_type fieldsplit -pc_fieldsplit_type schur -pc_fieldsplit_0_fields 0 -pc_fieldsplit_1_fields 1,2,3
   -fieldsplit_1_ksp_type fgmres -fieldsplit_1_pc_type fieldsplit -fieldsplit_1_pc_fieldsplit_type multiplicative
      -fieldsplit_1_fieldsplit_1_ksp_type fgmres -fieldsplit_1_fieldsplit_1_pc_type fieldsplit -fieldsplit_1_fieldsplit_1_pc_fieldsplit_type schur

I know the first level probably would work. But the second and third levels would not. 

We have two components living on one type of dofs. So the natural split 0,1,2,3 do not work. Therefore, at the first level I am setting up split through
PCFieldSplitSetIS(pc, “i", myis[i]);
How could I know the sub ISs and set it up correctly? Thanks.


Qi Tang
T5 at LANL





More information about the petsc-users mailing list