[petsc-users] ASM vs GASM

Boyce Griffith boyceg at gmail.com
Mon Apr 29 20:47:34 CDT 2019



> On Apr 29, 2019, at 8:39 PM, Smith, Barry F. via petsc-users <petsc-users at mcs.anl.gov> wrote:
> 
> 
>  I believe so. Probably you've already done this but you can look at src/ksp/ksp/examples/tutorials ex62.c and ex64.c for sample usage.

Yep!

>  Do you get the same (correct) behavior for both when you use inner_ises but no outer (let GASM/ASM determine it)? What if you use the same outer as inner?

I think that I had a bug in setting up the overlapping subdomains. Now GASM seems to work, but the convergence history does not seem to depend on how I set the outer IS, which seems surprising. In particular, with GASM, I’ve tried setting the outer IS to include overlaps; setting the outer IS to be the inner IS; and setting the outer IS to NULL — all converge in 2 iterations using exact subdomain solves. (This is a problem with only 2 subdomains.)

ASM gives different results. Specifically, if I let ASM determine the overlaps automatically, then it converges in 4 iterations. If I use the inner IS and the overlapping IS, then it takes nearly 40.

>  Note that for ASM the "inner" subdomains can overlap while for GASM they cannot overlap (and of course their union needs to be all degrees of freedom).

I think that I have been setting up the inner subdomains correctly for GASM. I have some doubts about how I am setting up the overlapping regions, and so I think I will just let GASM setup the overlaps for now.

>  GASM is usually used where each inner is exactly several processes but it should work more generally as well.

This is a situation where I have different PDEs on two subdomains with a flux continuity condition along the interface. One subdomain has a scalar PDE (just Laplace’s equation), the other has a vector PDE. I am trying to use GASM to split up the problems, and then to use GAMG on the scalar domain and FIELDSPLIT on the vector domain. I already know that FIELDSPLIT can be made to work well on the vector PDE.

Thanks!

— Boyce

>   Barry
> 
> 
>> On Apr 29, 2019, at 7:10 PM, Griffith, Boyce Eugene via petsc-users <petsc-users at mcs.anl.gov> wrote:
>> 
>> I am trying to setup a GASM preconditioner and am running into some difficulty getting convergence even with exact subdomain solvers. I am just doing things in serial now, and tried switching to ASM, and get convergence. I am wondering if I am misunderstanding the GASM interface. If inner_ises and outer_ises define the “inner” and “outer” subdomains for GASM, should GASM and ASM do the same things when configured via:
>> 
>> 	PCGASMSetSubdomains(pc, n_subdomains, inner_ises, outer_ises);
>> 
>> and
>> 
>> 	PCASMSetLocalSubdomains(pc, n_subdomains, outer_ises, inner_ises);
>> 
>> Thanks!
>> 
>> — Boyce
> 



More information about the petsc-users mailing list