[petsc-users] Clarification on PCASMSetLocalSubdomain is and is_local

Matthew Knepley knepley at gmail.com
Thu Jun 2 17:21:44 CDT 2016

On Thu, Jun 2, 2016 at 5:11 PM, Luc Berger-Vergiat <lb2653 at columbia.edu>

> Hi all,
> I would like a quick clarification on what is and is_local are
> representing in the PCASMSetLocalSubdomains().
> My understanding is that if I have two mpi ranks and four subdomains I can
> end up having four blocks that I can denote as follows:
>            |   domain1  |  domain2  |  domain3  |  domain3   |
> rank1  |    block11  |    block12  |   block13   | |
> rank2  |    block21  |    block22  |       --         |    block24 |
> to each blockIJ I associate isIJ.
> So for rank1 I will have is=[1,2,3] and is_local=[is11,is12,is13], and for
> rank2 I will have is=[1,2,4] and is_local=[is21,is22,is24].
> Or am I not understanding things correctly?

I did not understand the above.

The best way to think of this is algebraically. Suppose you have a matrix
A, and you divide the rows into k disjoint sets where each
process gets one set. Then is_local on each process is a list of the rows
in that set. Now we also allow some overlap, which means
rows in other sets are also used. The is on each process contains both
is_local and these extra rows from other sets.



> --
> Best,
> Luc

What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160602/b2472228/attachment.html>

More information about the petsc-users mailing list