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>
