Mixed finite element discretization with petsc?

Thomas Witkowski thomas.witkowski at tu-dresden.de
Mon Oct 5 04:09:44 CDT 2009

On Mon, Oct 5, 2009 at 09:39, Thomas Witkowski
> <thomas.witkowski at tu-dresden.de> wrote:
>>  From my point the main problem is that I cannot dived
>> the overall matrix row by row to the processes.
> Why not?
> The usual thing is to partition your mesh and then resolve ownership
> of the interface nodes.  You will insert element matrices where some
> of the nodes are not owned (i.e. set values for rows that are now
> owned) but PETSc handles this so it is transparent to you.
Okay, I thought a little bit to complicated :) So it's clear for me that 
there is no problem in defining each row of the overall system to one 
processor. But how to make continues row indices?

In my sequential code I'm assembling the matrices block wise, so the 
overall matrix looks as follows:

{A & B \\ B^T & 0} * {u & p) = {0 & 0}

So when I've partitioned my mesh, and say I've 1000 nodes in the mesh, 
the first row and the row 1001 are owned by the same process, because 
they come from the discretization of the same node. So is it right to 
bring all these matrix rows together by using different row indices?

> Jed

More information about the petsc-users mailing list