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
