Take a look at the manual page for AO. This provides a mechanism  
for renumbering the nodes (and references to the nodes) into what  
PETSc needs. Then you just assemble the matrix and vectors using the  
new PETSc numbering.

   Or you can do the renumbering yourself.

   Note that renumbering doesn't mean moving any data between  
processes, you use the data layout you already have, you just change  
the "names" of the nodes.

    Barry

On Nov 23, 2009, at 3:25 PM, Jed Brown wrote:

> On Mon, 23 Nov 2009 16:12:02 -0500, Craig Tanis <craig- 
> tanis at utc.edu> wrote:
>> The big problem seems to be that my domains are not guaranteed to  
>> have
>> contiguous global node ids.  How can I specify explicitly which
>> processor owns which node/vector element (for the purposes of
>> ghost-node synchronization)?
>
> PETSc matrices require that each process has contiguous rows, so your
> numbering scheme will have to be changed for matrix insertion.  But  
> the
> code that handles your physics does not need to be changed, you just
> encode the different numbering in a scatter.
>
> Jed

Reply via email to