On Sep 16, 2014, at 2:29 PM, Matthew Knepley <[email protected]> wrote:

> On Tue, Sep 16, 2014 at 2:23 PM, Barry Smith <[email protected]> wrote:
> 
>    Patrick,
> 
>      This "local part of the subdomains for this processor” term in  
> PCASMSetLocalSubdomains is, IMHO, extremely confusing. WTHWTS? Anyways, I 
> think that if you set the is_local[] to be different than the is[] you will 
> always end up with a nonsymetric preconditioner. I think for one dimension 
> you need to use
> 
> No I don't think that is right. The problem below is that you have overlap in 
> only one direction. Process 0 overlaps
> Process 1, but Process 1 has no overlap of Process 0. This is not how Schwarz 
> is generally envisioned.

  Sure it is. 
> 
> Imagine the linear algebra viewpoint, which I think is cleaner here. You 
> partition the matrix rows into non-overlapping
> sets. These sets are is_local[]. Then any information you get from another 
> domain is another row, which is put into
> is[]. You can certainly have a non-symmetric overlap, which you have below, 
> but it mean one way information
> transmission which is strange for convergence.

  No, not a all. 


|    0      1      2      3     4      5     6    |

  Domain 0 is the region from  |   to  4  with Dirichlet boundary conditions at 
each end (| and 4). Domain 1 is from 2 to | with Dirichlet boundary conditions 
at each end (2 and |) . 

  If you look at the PCSetUp_ASM() and PCApply_ASM() you’ll see all kinds of 
VecScatter creations from the various is and is_local, “restriction”, 
“prolongation” and “localization” then in the apply the different scatters are 
applied in the two directions, which results in a non-symmetric operator.

   Barry



> 
>   Matt
>  
> 
> > is[0] <-- 0 1 2 3
> > is[1] <-- 3 4 5 6
> > is_local[0] <-- 0 1 2 3
> > is_local[1] <-- 3 4 5 6
> 
> Or you can pass NULL for is_local use PCASMSetOverlap(pc,0);
> 
>   Barry
> 
> 
> Note that is_local[] doesn’t have to be non-overlapping or anything.
> 
> 
> On Sep 16, 2014, at 10:48 AM, Patrick Sanan <[email protected]> wrote:
> 
> > For the purposes of reproducing an example from a paper, I'd like to use 
> > PCASM with subdomains which 'overlap minimally' (though this is probably 
> > never a good idea in practice).
> >
> > In one dimension with 7 unknowns and 2 domains, this might look like
> >
> > 0  1  2  3  4  5  6  (unknowns)
> > ------------          (first subdomain  : 0 .. 3)
> >         -----------  (second subdomain : 3 .. 6)
> >
> > The subdomains share only a single grid point, which differs from the way 
> > PCASM is used in most of the examples.
> >
> > In two dimensions, minimally overlapping rectangular subdomains would 
> > overlap one exactly one row or column of the grid. Thus, for example, if 
> > the grid unknowns were
> >
> > 0  1  2  3  4  5  |
> > 6  7  8  9  10 11 | |
> > 12 13 14 15 16 17   |
> >         --------
> > -----------
> >
> > then one minimally-overlapping set of 4 subdomains would be
> > 0 1 2 3 6 7 8 9
> > 3 4 5 9 10 11
> > 6 7 8 9 12 13 14 15
> > 9 10 11 15 16 17
> > as suggested by the dashes and pipes above. The subdomains only overlap by 
> > a single row or column of the grid.
> >
> > My question is whether and how one can use the PCASM interface to work with 
> > these sorts of decompositions (It's fine for my purposes to use a single 
> > MPI process). In particular, I don't quite understand if should be possible 
> > to define these decompositions by correctly providing is and is_local 
> > arguments to PCASMSetLocalSubdomains.
> >
> > I have gotten code to run defining the is_local entries to be subsets of 
> > the is entries which define a partition of the global degrees of freedom*, 
> > but I'm not certain that this was the correct choice, as it appears to 
> > produce an unsymmetric preconditioner for a symmetric system when I use 
> > direct subdomain solves and the 'basic' type for PCASM.
> >
> > * For example, in the 1D example above this would correspond to
> > is[0] <-- 0 1 2 3
> > is[1] <-- 3 4 5 6
> > is_local[0] <-- 0 1 2
> > is_local[1] <-- 3 4 5 6
> >
> >
> >
> >
> 
> 
> 
> 
> -- 
> What most experimenters take for granted before they begin their experiments 
> is infinitely more interesting than any results to which their experiments 
> lead.
> -- Norbert Wiener

Reply via email to