pc_factor_fill

Barry Smith bsmith at mcs.anl.gov
Thu Nov 22 18:54:47 CST 2007


   If you are using KSP then you should NEVER call MatGetInfo(),  
MatLUFactor....
just call the PCFactorSetFill(). If you are not using the KSP then
you need to declare a MatFactorInfo and fill it up the way you want.
Note that MatInfo is different from MatFactorInfo you need to set the  
value
in MatFactorInfo that you pass to the factorization routines.

Barry


On Nov 22, 2007, at 12:55 PM, Waad Subber wrote:

> Thanks Barry
>
> One more question please:
>
> Should I get and set the fill factor  like this:
>
>       call MatGetInfo(A,MAT_LOCAL,info,ierr)
>       FACTFILL = info(MAT_INFO_fill_ratio_needed)
>       call PCFactorSetFill(pc,FACTFILL,ierr)
>       call ISSetPermutation(indexSet,IERR);CHKERRQ(IERR)
>       call MatLUFactorSymbolic(A,indexSet,indexSet,FACTFILL,...
>       call MatLUFactorNumeric(A,FACTFILL,factorMat,IERR)
>
> Thanks
>
> Waad
>
> Barry Smith <bsmith at mcs.anl.gov> wrote:
>
>   PCFactorSetFill() after calling KSPSetPC()
>
>    Barry
>
>   If you are using multiple different KSP's you might look at  
> KSPSetOptionsPrefix()
> to allow using command line options to set different values for  
> different solvers.
>
> On Nov 22, 2007, at 5:46 AM, Waad Subber wrote:
>
>> Hello PETSc Users,
>>
>> I have a serial code to solve multiple matrices. I am using LU  
>> factorization. When I run the code  with the (-info) option, it  
>> gives me different values for (pc_factor_fill) depending on the  
>> input matrix. I am wondering if I can set these values for the  
>> (pc_factor_fill) inside the code instead of running it with runtime  
>> option, for it is one code with multiple inputs.
>>
>> Thanks a lot
>>
>> Waad
>>
>>
>> For Matrix No.1
>>
>> [5] MatLUFactorSymbolic_SeqAIJ(): Reallocs 3 Fill ratio:given 0  
>> needed 2.96
>> [5] MatLUFactorSymbolic_SeqAIJ(): Run with -pc_factor_fill 2.96 or  
>> use
>> [5] MatLUFactorSymbolic_SeqAIJ(): PCFactorSetFill(pc,2.96);
>> [5] MatLUFactorSymbolic_SeqAIJ(): for best performance.
>>
>> For Matrix No.2
>>
>> [9] MatLUFactorSymbolic_SeqAIJ(): Reallocs 3 Fill ratio:given 0  
>> needed 2.42069
>> [9] MatLUFactorSymbolic_SeqAIJ(): Run with -pc_factor_fill 2.42069  
>> or use
>> [9] MatLUFactorSymbolic_SeqAIJ(): PCFactorSetFill(pc,2.42069);
>> [9] MatLUFactorSymbolic_SeqAIJ(): for best performance.
>>
>> For Matrix No. n
>>
>> [8] MatLUFactorSymbolic_SeqAIJ(): Reallocs 3 Fill ratio:given 0  
>> needed 1.87742
>> [8] MatLUFactorSymbolic_SeqAIJ(): Run with -pc_factor_fill 1.87742  
>> or use
>> [8] MatLUFactorSymbolic_SeqAIJ(): PCFactorSetFill(pc,1.87742);
>> [8] MatLUFactorSymbolic_SeqAIJ(): for best performance.
>>
>> Be a better sports nut! Let your teams follow you with Yahoo  
>> Mobile. Try it now.
>
>
>
> Be a better pen pal. Text or chat with friends inside Yahoo! Mail.  
> See how.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20071122/6aca6adc/attachment.htm>


More information about the petsc-users mailing list