[petsc-users] ASM Index Sets [Repost with Correction]

Justin Droba (JSC-EG3) [JETS] justin.c.droba at nasa.gov
Thu Mar 24 09:48:52 CDT 2016


Barry,

Thank you for your response.

I'm running a larger problem than the simple example in my initial 
message.  But here is what happens:
(1) One block for each processor, with commands
> PCASMSetLocalSubdomains(preconditioner,local_sdom,is,NULL);
>   PCASMSetOverlap(preconditioner,1);
where is = overlapping domain assigned to this processor, then it works 
nicely.

(2) One block for each processor, with commands
> PCASMSetLocalSubdomains(preconditioner,local_sdom,is,is_local);
>   PCASMSetOverlap(preconditioner,0);
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.)

(3) More than one block for each processor, I get a seg fault with 
either set of commands above.

Best regards,
Justin


On 3/23/16 10:29 AM, Barry Smith wrote:
>     Seems ok. You'll need to be more specific about "isn't quite working."
>
>     Barry
>
>> On Mar 23, 2016, at 9:37 AM, Justin Droba (JSC-EG3) [JETS] <justin.c.droba at nasa.gov> 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>
>>
>> https://farm2.staticflickr.com/1633/25912726941_428d61ae87_o.png
>>
>>
>> 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
>> ---------------------------------------------
>>
>>
>>
>>

-- 
---------------------------------------------
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
---------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160324/fb23d371/attachment-0001.html>


More information about the petsc-users mailing list