[petsc-users] Solving a coupled linear system of equations in parallel

Barry Smith bsmith at mcs.anl.gov
Tue Sep 12 15:41:32 CDT 2017


  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 <fe.wallner at gmail.com> 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



More information about the petsc-users mailing list