[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