ILUDropTolerance is not compatible with Mat re-ordering??

Hong Zhang hzhang at mcs.anl.gov
Thu May 7 21:34:19 CDT 2009


Rui,

I'm currently working on iludt.
You can try it from petsc-dev.
See http://www.mcs.anl.gov/petsc/petsc-as/developers/index.html
on how to get petsc-dev.

Example: petsc-dev/src/ksp/ksp/examples/tutorials/ex2.c:

./ex2 -pc_type ilu -pc_factor_use_drop_tolerance 0.01,0.0,2

i.e., run ilu with the option
-pc_factor_use_drop_tolerance <droptol, dtcol,maxrowcount>.

Currently, it only supports sequential aij format.
dtcol is not implemented.

Send us bug report and
let us know your need.

Hong

On Thu, 7 May 2009, Rui Wang wrote:

> Thanks a lot. I appreciate your help. Have a nice evening.
>
> Rui
>
> ---- Original message ----
>> Date: Thu, 7 May 2009 20:25:25 -0500
>> From: Barry Smith <bsmith at mcs.anl.gov>
>> Subject: Re: ILUDropTolerance is not compatible with Mat re-ordering??
>> To: ruiwang2 at illinois.edu, PETSc users list <petsc-users at mcs.anl.gov>
>>
>>
>>
>>    PETSc has currently very little support for drop tolerance ILU.
>> ILU is the bane of any decent mathematicians existence.
>>
>>    There isn't support for a reordering.
>>
>>    Hong is actually working on much better, more general and more
>> complete ILUdt that should be ready in a couple of
>> months. (Yes, Hong has gone over to the dark side of mathematics :-)).
>>
>>    Barry
>>
>> On May 7, 2009, at 8:19 PM, Rui Wang wrote:
>>
>>> Dear All,
>>>
>>>      I am trying very hard to use PCILUSetUseDropTolerance()
>>> together with PCILUSetMatOrdering(), but it does not work, no matter
>>> what kind of MatOrderingType (RCM, ND...) i choose. The message I got:
>>>
>>> -------------------------------------------------------------
>>> Note: The EXACT line numbers in the stack are not available,
>>>      INSTEAD the line number of the start of the function
>>>      is given.
>>> [0] MatILUDTFactor_SeqAIJ line 66 src/mat/impls/aij/seq/aijfact.c
>>> [0] MatILUDTFactor line 1362 src/mat/interface/matrix.c
>>> [0] PCSetUp_ILU line 568 src/sles/pc/impls/ilu/ilu.c
>>> [0] PCSetUp line 756 src/sles/pc/interface/precon.c
>>> [0] SLESSolve line 466 src/sles/interface/sles.c
>>> --------------------------------------------
>>> [0]PETSC ERROR: unknownfunction() line 0 in  unknown file
>>> [0] MPI Abort by user Aborting program !
>>> [0] Aborting program!
>>> p0_32609:  p4_error: : 59
>>> ----------------------------------------------------------
>>>
>>>    I spent a lot of time on this and still cannot figure it out.
>>>
>>>   Actually if I just use PCILUSetUseDropTolerance() itself, it works
>>> fine. Also,  if I choose other ILU methods such as level-based ILU,
>>> PCILUSetMatOrdering() works perfectly with them.
>>>
>>>    I wonder how to use ILUDropTolerance together with the reordering
>>> technique (such as RCM)? or they are not compatible?
>>> BTW, my PETSc version is 2.1.0. Is this because i am using this old
>>> version?
>>>
>>>    Thanks a lot.
>>>
>>> Sincerely,
>>> Rui Wang
>>>
>>>
>>>
>>>
>>> --------------------------------------------------
>>> Rui Wang
>>> Ph.D. Candidate
>>> Research Assistant and Predoctoral Fellow
>>> Department of Electrical and Computer Engineering
>>> University of Illinois at Urbana-Champaign
>>
>


More information about the petsc-users mailing list