<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Mar 24, 2016 at 10:31 AM, Justin Droba (JSC-EG3) [JETS] <span dir="ltr"><<a href="mailto:justin.c.droba@nasa.gov" target="_blank">justin.c.droba@nasa.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Matt and Barry,<br>
    <br>
    Thank you for your help!<br>
    <br>
    <div>On 3/24/16 10:01 AM, Matthew Knepley
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">On Thu, Mar 24, 2016 at 9:48 AM,
            Justin Droba (JSC-EG3) [JETS] <span dir="ltr"><<a href="mailto:justin.c.droba@nasa.gov" target="_blank"></a><a href="mailto:justin.c.droba@nasa.gov" target="_blank">justin.c.droba@nasa.gov</a>></span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000"> Barry, <br>
                <br>
                Thank you for your response.<br>
                <br>
                I'm running a larger problem than the simple example in
                my initial message.  But here is what happens: <br>
                (1) One block for each processor, with commands<br>
                <blockquote type="cite"> 
                  PCASMSetLocalSubdomains(preconditioner,local_sdom,is,NULL);<br>
                    PCASMSetOverlap(preconditioner,1);</blockquote>
                where is = overlapping domain assigned to this
                processor, then it works nicely.<br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>Then you must not be doing RASM, and the second
              statement has no effect.</div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    Well, this would certainly explain why this case works.<br>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000"> (2) One block for
                each processor, with commands<br>
                <blockquote type="cite"> 
                  PCASMSetLocalSubdomains(preconditioner,local_sdom,is,is_local);<br>
                    PCASMSetOverlap(preconditioner,0);</blockquote>
                where is = overlapping domain assigned to this processor
                and is_local the disjoint domain assigned to this
                processor, I get the incorrect answer.  (I can remove
                that second statement and I get the same answer.)<br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>How do you know what the correct answer is? The second
              statement has no effect.</div>
          </div>
        </div>
      </div>
    </blockquote>
    The system solves for weights for a radial basis interpolation.  I
    use these weights to compute the interpolated values and in this
    case, I am way off.<br>
    <br>
    I will look through my domains again.  I'll also see if I can get
    your previous suggestion of using pc_asm_blocks.  I can just set
    that in-code with PetscOptionsSetValue("-pc_asm_blocks","25"),
    correct?</div></blockquote><div><br></div><div>Yes.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"> <blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000"> (3) More than one
                block for each processor, I get a seg fault with either
                set of commands above.<br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>Are you providing an array of length local_sdom?</div>
          </div>
        </div>
      </div>
    </blockquote>
    local_sdom should be the number of domains for the processor,
    right?  If I have 25 blocks and 5 processors (distributed evenly),
    it should be 5.  For one block per processor, it's 1.<br></div></blockquote><div><br></div><div>Yes.</div><div><br></div><div>You could also look at what Rio Yokota did:</div><div><br></div><div>  <a href="https://github.com/barbagroup/petrbf">https://github.com/barbagroup/petrbf</a></div><div><br></div><div>    Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">
    Best regards,<br>
    Justin<br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div><br>
            </div>
            <div>   Matt</div>
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000"> Best regards,<br>
                Justin<br>
                <br>
                <br>
                <div>On 3/23/16 10:29 AM, Barry Smith wrote:<br>
                </div>
                <blockquote type="cite">
                  <pre>   Seems ok. You'll need to be more specific about "isn't quite working."

   Barry

</pre>
                  <blockquote type="cite">
                    <pre>On Mar 23, 2016, at 9:37 AM, Justin Droba (JSC-EG3) [JETS] <a href="mailto:justin.c.droba@nasa.gov" target="_blank"><justin.c.droba@nasa.gov></a> wrote:

Dear all,

Very sorry to flood the mailing list, one final post because the image will not come through if you're on digest or using plain text.

Thank you for maintaining this wonderful software and this user mailing list!

I am attempting to use an additive Schwartz preconditioner with multiple blocks per processor.  I've been able to get it to work with one block per processor but not been successful with multiple. I believe I am not understanding correctly the construction of index sets for this case.

Let's consider a simple example: 16 nodes on a square with 4 blocks of 4x4:

<Mail Attachment.png>

<a href="https://farm2.staticflickr.com/1633/25912726941_428d61ae87_o.png" target="_blank">https://farm2.staticflickr.com/1633/25912726941_428d61ae87_o.png</a>


I want to put Omega_1 and Omega_2 on processor 1 and the other two on the second processor.  Do I make my index sets on processor 1 

IS = {  {1,2,3,5,6,7,9,10,11}, {2,3,4,6,7,8,10,11,12} }
IS_LOCAL = { {1,2,5,6}, {3,4,7,8} }

and similarly for the other processor?  I tried this and it isn't quite working out.  Do I misunderstand something?

Thank you!

Best regards,
Justin

-- 
---------------------------------------------
Justin Droba, PhD
Applied Aeroscience and CFD Branch (EG3)
NASA Lyndon B. Johnson Space Center
JETS/Jacobs Technology, Inc. and HX5, LLC

Office: Building 16, Room 142
Phone: 281-483-1451
---------------------------------------------




</pre>
                  </blockquote>
                  <span><font color="#888888"> </font></span></blockquote>
                <span><font color="#888888"> <br>
                    <div>-- <br>
                      <font color="blue">
                        ---------------------------------------------<br>
                        Justin Droba, PhD<br>
                        Applied Aeroscience and CFD Branch (EG3)<br>
                        NASA Lyndon B. Johnson Space Center<br>
                        JETS/Jacobs Technology, Inc. and HX5, LLC<br>
                        <br>
                        <b>Office:</b> Building 16, Room 142<br>
                        <b>Phone</b>: <a href="tel:281-483-1451" value="+12814831451" target="_blank">281-483-1451</a><br>
                        ---------------------------------------------<br>
                      </font></div>
                  </font></span></div>
            </blockquote>
          </div>
          <br>
          <br clear="all"><span class=""><font color="#888888">
          <div><br>
          </div>
          -- <br>
          <div>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>
        </font></span></div><span class=""><font color="#888888">
      </font></span></div><span class=""><font color="#888888">
    </font></span></blockquote><span class=""><font color="#888888">
    <br>
    <div>-- <br>
      <font color="blue"> ---------------------------------------------<br>
        Justin Droba, PhD<br>
        Applied Aeroscience and CFD Branch (EG3)<br>
        NASA Lyndon B. Johnson Space Center<br>
        JETS/Jacobs Technology, Inc. and HX5, LLC<br>
        <br>
        <b>Office:</b> Building 16, Room 142<br>
        <b>Phone</b>: <a href="tel:281-483-1451" value="+12814831451" target="_blank">281-483-1451</a><br>
        ---------------------------------------------<br>
      </font></div>
  </font></span></div>

</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">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></div>