[petsc-users] Nested field split

Barry Smith bsmith at petsc.dev
Wed May 17 13:59:15 CDT 2023


  Absolutely, that is fundamental to the design.

  In the simple case where all the degrees of freedom exist at the same grid points, hence storage is like  u,v,t,p   in the vector the nesting is trivial. You indicate the fields without using IS (don't even need to change any code) 

-pc_fieldsplit_0_fields 0,1,2
-fieldsplit_pc_fieldsplit_0_fields  0,1

Listing the two complimentary fields 
pc_fieldsplit_1_fields 3
-fieldsplit_pc_fieldsplit_1_fields  2
should be optional (I can't remember if it is smart enough to allow not listing them)

If you have a staggered grid then indicating the fields is trickery (since you don't have the simple u,v,t,p layout of the degrees of freedom)



> On May 17, 2023, at 12:47 PM, Alexander Lindsay <alexlindsay239 at gmail.com> wrote:
> 
> I've seen threads in the archives about nested field split but I'm not sure they match what I'm asking about.
> 
> I'm doing a Schur field split for a porous version of incompressible Navier-Stokes. In addition to pressure and velocity fields, we have fluid and solid temperature fields. I plan to put all primal variables in one split and the pressure obviously in the Schur split. Now within the "primal variable split" a user is wondering whether we can do a further split, e.g. perhaps an additive split with the solid temperature split out from the velocities and fluid temperature (the former is almost pure conduction whereas the latter may be advection dominated). Is this possible?
> 
> Alex



More information about the petsc-users mailing list