[Trilinos-Users] [EXTERNAL] Re: ilut setting

Hoang Giang Bui hgbk2008 at gmail.com
Thu Sep 19 11:08:10 MDT 2013


Dear Eric

I think Stratimikos support wrapping AztecOO as solver but not 
preconditioner. Do you have a working script that allows AztecOO as 
preconditioner ?

Bui


On 09/19/2013 03:42 PM, Cyr, Eric C wrote:
> It is already an inverse factory in Teko. AztecOO is wrapped by
> Stratimikos. Anything in Stratimikos is accessible to Teko (This is how
> you access Ifpack for instance). If you go to the Stratimikos page and
> look up the AztecOO parameters you should be able to modify those to be
> accessible by Teko. Let me know if you need more help.
>
> Regarding the ILUT in Ifpack. I have to say that I don't use it and think
> there may be problems with its implementation. The ILU in Ifpack is solid
> and we get a lot of use out it.
>
> Eric
>
> On 9/19/13 4:43 AM, "Hoang Giang Bui" <hgbk2008 at gmail.com> wrote:
>
>> That's fine. I can use AztecOO with ilut since it works well in my case.
>> In fact, I used Ifpack as sub-preconditioner for my block
>> preconditioner. This block preconditioner doesn't work since Ifpack_ILUT
>> failed. It is not sure that AztecOO ILUT will be success if it's applied
>> as sub-preconditioners though. However I wonder if there is a way to
>> introduce AztecOO as an InverseFactory in Teko?
>>
>> Best regards
>> Giang Bui
>>
>>
>>
>> On 09/18/2013 07:16 PM, Erik Boman wrote:
>>> Unfortunately, the incomplete factorization parameters are not well
>>> documented so looking at the source code is best. Yes, Ifpack_ILUT
>>> interprets "ilut level-of-fill" to be the ratio of nonzeros in the
>>> preconditioner relative to the original matrix, so a value of 1.0 or a
>>> bit higher is reasonable. (Note: 1.0 in Ifpack roughly corresponds to
>>> 0 in AztecOO.) If you set it to 50, you will in most cases compute a
>>> complete factorization (but in a very slow way!). As a sanity check,
>>> you can try using Amesos (by default, KLU) as your subdomain solver.
>>>
>>> There are several other parameters in Ifpack that may be helpful. For
>>> example, the absolute and relative threshold parameters may make your
>>> preconditioner more robust. Confusingly, these prescribe a diagonal
>>> perturbation (aka Manteuffel shift).
>>>
>>> Erik
>>>
>>> Hoang Giang Bui wrote:
>>>> Hi Chris
>>>>
>>>> I didn't see the range of value of ilut level of fill in Ifpack user
>>>> guide yet. But looking in the code of Ifpack_ILUT, I'm quite sure
>>>> that the level of fill indicates the number of nonzeros in the
>>>> preconditioner compare to initial nonzeros. Therefore its value can
>>>> be bigger than 1.
>>>>
>>>> Giang Bui
>>>>
>>>>
>>>> On 09/18/2013 04:43 AM, Chris Jackson wrote:
>>>>> I don¹t know if this applies to the one you are talking about, but I
>>>>> recall that with one of the ILUT preconditioners the fill value is
>>>>> expected to be between 0.0 and 1.0.  1.0 meant essentially we were
>>>>> finding the inverse of the matrix.  Before we figured that out we
>>>>> were always astounded that BiCGStab was converging in 2 iterationsŠ
>>>>>
>>>>>
>>>>>
>>>>> Chris Jackson
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> *From:* trilinos-users-bounces at software.sandia.gov
>>>>> [mailto:trilinos-users-bounces at software.sandia.gov] *On Behalf Of
>>>>> *Hoang Giang Bui
>>>>> *Sent:* Tuesday, September 17, 2013 6:28 PM
>>>>> *To:* Erik Boman
>>>>> *Cc:* trilinos-users at software.sandia.gov
>>>>> *Subject:* Re: [Trilinos-Users] ilut setting
>>>>>
>>>>>
>>>>>
>>>>> Hi Erik
>>>>>
>>>>> I tried to increase "fact: ilut level-of-fill" to 50.0 and it still
>>>>> doesn't converge. In fact, with this value the preconditioner take
>>>>> very long to compute. Is there other option we can set for Ifpack
>>>>> ILUT?
>>>>>
>>>>> Giang Bui
>>>>>
>>>>>
>>>>>
>>>>> On Tue, Sep 17, 2013 at 8:01 PM, Erik Boman <egboman at sandia.gov
>>>>> <mailto:egboman at sandia.gov>> wrote:
>>>>>
>>>>> Giang Bui,
>>>>>
>>>>> You will not get exactly the same answer because the ILUT
>>>>> implementations are different in AztecOO and Ifpack. Also, the
>>>>> meaning of "fill" may be slightly different. Try increase the value
>>>>> of  "fact: ilut level-of-fill" in the Ifpack parameter to see if you
>>>>> can make it converge.
>>>>>
>>>>> Erik
>>>>>
>>>>> Hoang Giang Bui wrote:
>>>>>
>>>>> Dear Trilinos developers,
>>>>>
>>>>> Is there difference between 2 settings:
>>>>>
>>>>> solver_parameters.set("AZ_solver", "AZ_bicgstab")
>>>>> solver_parameters.set("AZ_kspace", 1000)
>>>>> solver_parameters.set("AZ_output", 100)
>>>>> solver_parameters.set("AZ_precond", "AZ_dom_decomp")
>>>>> solver_parameters.set("AZ_subdomain_solve", "AZ_ilut")
>>>>> solver_parameters.set("AZ_drop", 0.0)
>>>>> solver_parameters.set("AZ_ilut_fill", 10.0)
>>>>> aztec_solver.SetParameters(solver_parameter, true);
>>>>>
>>>>> And:
>>>>> solver_parameters.set("AZ_solver", "AZ_bicgstab")
>>>>> solver_parameters.set("AZ_kspace", 1000)
>>>>> solver_parameters.set("AZ_output", 100)
>>>>> solver_parameters.set("AZ_precond", "AZ_none")
>>>>> aztec_solver.SetParameters(solver_parameter, true);
>>>>> IFPreconditionerType = "ILUT"
>>>>> preconditioner_parameters.set("fact: ilut level-of-fill", 10.0);
>>>>> preconditioner_parameters.set("fact: drop tolerance", 0.0);
>>>>> overlap_level = 1
>>>>> mPrec = Teuchos::rcp(Factory.Create(IFPreconditionerType, &rA,
>>>>> overlap_level));
>>>>> mPrec->SetParameters(preconditioner_parameters);
>>>>> aztec_solver.SetPrecOperator(&*(mpPrec->GetOperator()))
>>>>>
>>>>> I thought it all resulted in Additive-Schwartz preconditioner with
>>>>> ILUT as local subdomain preconditioner. But it gives different
>>>>> performance. The first setting works well but the second failed to
>>>>> converge.
>>>>>
>>>>> Best regards
>>>>> Giang Bui
>>>>>
>>>>> _______________________________________________
>>>>> Trilinos-Users mailing list
>>>>> Trilinos-Users at software.sandia.gov
>>>>> <mailto:Trilinos-Users at software.sandia.gov>
>>>>> http://software.sandia.gov/mailman/listinfo/trilinos-users
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> -- 
>>>>> With Best Regards !
>>>>> Giang Bui
>>>>>
>>>>> To learn and to excel
>>>>>
>> _______________________________________________
>> Trilinos-Users mailing list
>> Trilinos-Users at software.sandia.gov
>> http://software.sandia.gov/mailman/listinfo/trilinos-users



More information about the Trilinos-Users mailing list