[petsc-dev] GASM

Dmitry Karpeev karpeev at mcs.anl.gov
Tue Mar 27 21:15:43 CDT 2012


Mark,

You should pass your subdomain ISs through the first IS list argument, and
leave the second as PETSC_NULL.
In that case GASM assumes that the user passed in a nonoverlapping
decomposition through the first list.
This is the behavior that GASM inherited from ASM and it isn't very well
(or at all) documented in either.
Let me know if that doesn't fix the problem.

Note also that you don't have to explicitly set overlap to 0: if the user
sets not overlap PETSc won't try to increase it,
and if you set overlap to 0 it will not try to adjust the subdomains to
make sure the overlap is 0.  Both ASM and GASM simply assume that the user
does the right thing and passes in a nonoverlapping decomposition.

Incidentally, it may be time to change this API.  I'm trying to debug a bad
convergence problem with GASM -- inexplicably, it converges slower than ASM
with a single process and multiple subdomains  -- so now is a good time to
mess with the code, while I still remember what's what.  Another thing I've
considered doing is reordering the subdomains internally (on demand only),
to ensure a deadlock-free ordering of the subcomms.

Dmitry.

On Tue, Mar 27, 2012 at 6:28 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
>  This is why petsc-dev is better than a random list of email addresses.
>  No one on your random list uses GASM
>
>
>
>   Barry
>
> On Mar 27, 2012, at 4:49 PM, Mark F. Adams wrote:
>
> > I'm trying to make general non-overlapping domains in GASM.  I create a
> vector of IS, each with the global indices of the equations in each block.
> >
> > I use code that looks like:
> >
> >        ierr = PCSetType( subpc, PCGASM ); CHKERRQ(ierr);
> >        ierr = PCGASMSetLocalSubdomains( subpc, sz, PETSC_NULL, is );
> CHKERRQ(ierr);
> >        ierr = PetscFree( is ); CHKERRQ(ierr);
> >        ierr = PCGASMSetOverlap( subpc, 0 ); CHKERRQ(ierr);
> >
> > In parallel, I get errors like this:
> >
> > [1]PETSC ERROR: gis_local contains -85 indices outside of gis!
> >  <snip>
> > [1]PETSC ERROR: PCSetUp_GASM() line 332 in
> /Users/markadams/Codes/petsc-dev/src/ksp/pc/impls/gasm/gasm.c
> >
> > Anyone have any ideas on what I'm doing wrong here?  I've checked the
> input and I think it is fine,
> >
> > Mark
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20120327/9428401b/attachment.html>


More information about the petsc-dev mailing list