You will "interlace" the variables; that is store the first u followed by the 
first v followed by the first p followed by the second u etc. Do the same 
partitioning of the mesh as you do for the heat equation. 

  You will use the PCFIELDSPLIT as the solver, likely with multigrid for the 
A_uu and A_vv matrices

   Barry


   
> On Sep 12, 2017, at 4:30 PM, Felipe Giacomelli <[email protected]> wrote:
> 
> Hello,
> I would like to use PETSc to solve coupled linear systems, such as the ones 
> that originate from the discretization of Navier Stokes equations. In a two 
> dimensions, incompressible, steady state case, one would have the following 
> set of equations (Finite Volume Method):
> 
> A_uu      0             A_up           u              b_u
> 0            A_vv        A_vp           v       =    b_v
> A_pu      A_pv        0                p               b_p
> 
> What would be the standard approach to solve this linear system? How can one 
> “split” this linear system among several processes?
> 
> When there is only one variable involved, as in heat transfer problems, I use 
> METIS to decompose the domain (graph partition). Thus, each process build its 
> block of the major linear system of equations. However, if there’s more than 
> one variable per node, I don’t know what would be the best way to assemble 
> the system of equations in a parallel context.
> 
> Notes:
> The discretization method employed is the Element based Finite Volume Method.
> METIS is used to decompose the domain (graph partition).
> I understand how PETSc is used to solve linear systems of equation when there 
> is only one variable per node.
> I would like to keep the domain decomposition, if that’s possible.
> Articles or other reading suggestions would be appreciated. 
> 
> Thank you,
> 
> -- 
> Felipe M Wallner Giacomelli

Reply via email to