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 >> >
