<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Sep 16, 2014 at 2:23 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
   Patrick,<br>
<br>
     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</blockquote><div><br></div><div>No I don't think that is right. The problem below is that you have overlap in only one direction. Process 0 overlaps</div><div>Process 1, but Process 1 has no overlap of Process 0. This is not how Schwarz is generally envisioned.</div><div><br></div><div>Imagine the linear algebra viewpoint, which I think is cleaner here. You partition the matrix rows into non-overlapping</div><div>sets. These sets are is_local[]. Then any information you get from another domain is another row, which is put into</div><div>is[]. You can certainly have a non-symmetric overlap, which you have below, but it mean one way information</div><div>transmission which is strange for convergence.</div><div><br></div><div>  Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
> is[0] <-- 0 1 2 3<br>
> is[1] <-- 3 4 5 6<br>
</span>> is_local[0] <-- 0 1 2 3<br>
<span class="">> is_local[1] <-- 3 4 5 6<br>
<br>
</span>Or you can pass NULL for is_local use PCASMSetOverlap(pc,0);<br>
<br>
  Barry<br>
<br>
<br>
Note that is_local[] doesn’t have to be non-overlapping or anything.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
On Sep 16, 2014, at 10:48 AM, Patrick Sanan <<a href="mailto:patrick.sanan@gmail.com">patrick.sanan@gmail.com</a>> wrote:<br>
<br>
> 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).<br>
><br>
> In one dimension with 7 unknowns and 2 domains, this might look like<br>
><br>
> 0  1  2  3  4  5  6  (unknowns)<br>
> ------------          (first subdomain  : 0 .. 3)<br>
>         -----------  (second subdomain : 3 .. 6)<br>
><br>
> The subdomains share only a single grid point, which differs from the way PCASM is used in most of the examples.<br>
><br>
> 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<br>
><br>
> 0  1  2  3  4  5  |<br>
> 6  7  8  9  10 11 | |<br>
> 12 13 14 15 16 17   |<br>
>         --------<br>
> -----------<br>
><br>
> then one minimally-overlapping set of 4 subdomains would be<br>
> 0 1 2 3 6 7 8 9<br>
> 3 4 5 9 10 11<br>
> 6 7 8 9 12 13 14 15<br>
> 9 10 11 15 16 17<br>
> as suggested by the dashes and pipes above. The subdomains only overlap by a single row or column of the grid.<br>
><br>
> 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.<br>
><br>
> 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.<br>
><br>
> * For example, in the 1D example above this would correspond to<br>
> is[0] <-- 0 1 2 3<br>
> is[1] <-- 3 4 5 6<br>
> is_local[0] <-- 0 1 2<br>
> is_local[1] <-- 3 4 5 6<br>
><br>
><br>
><br>
><br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener
</div></div>