[petsc-users] PCGASMSetLocalSubdomains

Dmitry Karpeev karpeev at mcs.anl.gov
Sun Feb 19 17:41:30 CST 2012


On Sun, Feb 19, 2012 at 3:08 PM, Hui Zhang <mike.hui.zhang at hotmail.com>wrote:

> I have a new problem: the results from ASM and GASM are different and it
> seems
> GASM has something wrong with SetModifySubMatrices. Numerical tests are
> with
> each subdomain supported only by one subdomain. There are no problems when
> I did not modify submatrices.  But when I modify submatrices, there are
> problems
> with GASM but no problems with ASM.
>
> For example, I use two subdomains. In the first case each subdomain is
> supported by
> one processor and there seems no problem with GASM. But when I use run my
> program
> with only one proc. so that it supports both of the two subdomains, the
> iteration
> number is different from the first case and is much larger.  On the other
> hand
> ASM has no such problem.
>

Are the solutions the same?
What problem are you solving?

Dmitry.

>
>
> On Feb 15, 2012, at 6:46 PM, Dmitry Karpeev wrote:
>
> You should be able to.
> This behavior is the same as in PCASM,
> except in GASM the matrices live on subcommunicators.
> I am in transit right now, but I can take a closer look in Friday.
>
> Dmitry
>
>
>
> On Feb 15, 2012, at 8:07, Hui Zhang <mike.hui.zhang at hotmail.com> wrote:
>
> On Feb 15, 2012, at 11:19 AM, Hui Zhang wrote:
>
> Hi Dmitry,
>
> thanks a lot! Currently, I'm not using ISColoring. Just comes another
> question
> on PCGASMSetModifySubMatrices(). The user provided function has the
> prototype
>
> func (PC pc,PetscInt nsub,IS *row,IS *col,Mat *submat,void *ctx);
>
> I think the coloumns from the parameter 'col' are always the same as the
> rows
> from the parameter 'row'. Because PCGASMSetLocalSubdomains() only accepts
> index sets but not rows and columns. Has I misunderstood something?
>
>
> As I tested, the row and col are always the same.
>
> I have a new question. Am I allowed to SetLocalToGlobalMapping() for the
> submat's
> in the above func()?
>
> thanks,
> Hui
>
>
> thanks,
> Hui
>
>
> On Feb 11, 2012, at 3:36 PM, Dmitry Karpeev wrote:
>
> Yes, that's right.
> There is no good way to help the user assemble the subdomains at the
> moment beyond the 2D stuff.
> It is expected that they are generated from mesh subdomains.
> Each IS does carry the subdomains subcomm.
>
> There is ISColoringToList() that is supposed to convert a "coloring" of
> indices to an array of ISs,
> each having the indices with the same color and the subcomm that supports
> that color. It is
> largely untested, though.  You could try using it and give us feedback on
> any problems you encounter.
>
> Dmitry.
>
>
> On Sat, Feb 11, 2012 at 6:06 AM, Hui Zhang < <mike.hui.zhang at hotmail.com>
> mike.hui.zhang at hotmail.com> wrote:
>
>> About PCGASMSetLocalSubdomains(), in the case of one subdomain supported
>> by
>> multiple processors, shall I always create the arguments 'is[s]' and
>> 'is_local[s]'
>> in a subcommunicator consisting of processors supporting the subdomain
>> 's'?
>>
>> The source code of PCGASMCreateSubdomains2D() seemingly does so.
>>
>> Thanks,
>> Hui
>>
>>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120219/33c0d2f2/attachment.htm>


More information about the petsc-users mailing list