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?
Thomas
> Jed
>
>
>
More information about the petsc-users
mailing list