[petsc-dev] Implementing of a variable block size BILU preconditioner

Jed Brown jed at jedbrown.org
Mon Dec 3 19:39:02 CST 2018


"Smith, Barry F. via petsc-dev" <petsc-dev at mcs.anl.gov> writes:

>> On Dec 3, 2018, at 4:49 PM, Ali Reza Khaz'ali <arkhazali at cc.iut.ac.ir> wrote:
>> 
>> Hi,
>> 
>> I think that the topic is more suited for PETSc-developers than its users; therefore, I move it to the dev list.
>> 
>> Continuing the discussion on implementing a variable-block size BILU preconditioner, would it be possible to change the block size parameter (bs) on BAIJ format such that it can handle variable block sizes? (i.e., instead of it being a scalar, it can be an array). Although BILU does not necessarily require rectangular blocks, I think, it leads to less         messy code.
>
>    That is an alternative to using the AIJ format. The problem with this approach is you will need to write a lot of code for the variable block size BAIJ; MatSetValues_SeqVBAIJ, MatMult_SeqVBAIJ, etc etc. While if you reuse the AIJ you only need to write new factorization and solve routines (much less code).

Sure, but the result isn't really different (modulo associativity) from
normal ILU applied to a block matrix (at least unless you start
considering fill with incomplete blocks).

Ali, what are you hoping to achieve with variable block ILU?

>> Also, being a newbie on PETSc code, I do not understand some parts of the code, especially distributed matrix storage and some of the implemented numerical algorithms. Is there any reference that I can use for this?
>
>    There is a little discussion at the end chapters of the users manual, plus you should read the developers manual. But there is not a lot of detail except in the actual code.
>
>     Barry
>
>> 
>>  
>> -- 
>> Ali Reza Khaz’ali
>> Assistant Professor of Petroleum Engineering,
>> Department of Chemical Engineering
>> Isfahan University of Technology
>> Isfahan, Iran
>> 


More information about the petsc-dev mailing list