On Sat, May 14, 2011 at 3:28 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
> On May 14, 2011, at 3:09 PM, Jed Brown wrote:
>
>> On Sat, May 14, 2011 at 21:47, Dmitry Karpeev <karpeev at mcs.anl.gov> wrote:
>> Can these split ISs have communicators different from that of
>> PetscLayout (this is something I use in GASM,
>> for example)?
>>
>> I guess I always thought of the field information in PetscLayout as having 
>> semantic meaning to the user. I also thought these ISs would be strictly 
>> non-overlapping and addressing locally owned values.
>
> Dmitry asked: What will be the meaning of overlapping splits?
>
> Matt wrote: ?boundary conditions (if you want).
>
> Jed wrote later: ?think that has different semantic meaning and thus deserves 
> a different mechanism. I don't know whether it belongs in PetscLayout, but I 
> think it is a different beast from defining "fields" that have semantic 
> meaning to the user.

Via Vec/MatSetValuesLocal?  I would agree with that.
What I don't like about that is that now there will be two different
ways of treating splits that happen to be nonoverlapping:
via some clever XXXSetValuesLocal and via the nonoverlapping splits
mechanism inside PetscLayout.



Dmitry.
>
>
>
> Barry responds: we could require non-overlapping splits but I am not sure if 
> that is necessary or desirable. For example, the first IS might denote 
> velocity variables, the second IS might denote pressure variables the third 
> IS might denote locations with fixed boundary conditions. All of these things 
> have "semantic meaning" to the users. Only some of them may have meaning to 
> the PCFieldSplit. If we could use the same mechanism for all of them that 
> might be better than having different mechanisms for "marking" different 
> "meanings".
>
> ? Barry
>
>
>
>
>> In that context, there is no particular disadvantage to always using global 
>> ISs, and I think it would help keep the code simple. If you are going to 
>> solve part of the problem on a sub-communicator, you can define that subcomm 
>> as all those processes that have non-empty local part in the IS. If you have 
>> a huge number of splits (such that individual splits on longer have semantic 
>> meaning), then I think it is a different purpose.
>
>
>
>
>
>

Reply via email to