[petsc-users] superlu ILUT preconditioner break

Hong Zhang hzhang at mcs.anl.gov
Sun Jul 17 10:16:29 CDT 2011


We have set
options.RowPerm = NOROWPERM;
in petsc-dev/superlu interface.
see petsc-dev/src/mat/impls/aij/seq/superlu/superlu.c

Are you using the latest petsc-dev?

Hong

2011/7/17 Gong Ding <gdiso at ustc.edu>:
> BTW, this problem can be avoided by setting
> -mat_superlu_rowperm to NOROWPERM instead of default value LargeDiag
>
>
>>
>> Several months ago, I posted message "superlu ILUT preconditioner break" with following link
>>
>> http://lists.mcs.anl.gov/pipermail/petsc-users/2011-March/008355.html
>>
>>
>>
>> Today I studied this problem carefully to see why it crashes.
>>
>>
>>
>> The segment fault is arising at line 692 of superlu's dgsisx.c, because the array "perm" is 0.
>>
>> This array which contains the permutation calculated from MC64 procedure, can only be initialized when nofact flag is true. However, petsc will call dgsisx twice, with nofact value 1 and 0, respectively.  In the second calling, the perm array is not initialized but be used. That's why the code crash.
>>
>>
>>
>> Hope this bug can be fixed without too many efforts.
>>
>>
>>
>> Gong Ding
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>


More information about the petsc-users mailing list