[Trilinos-Users] ilut setting
Bartlett, Roscoe A.
bartlettra at ornl.gov
Fri Sep 27 07:05:43 MDT 2013
Thanks Ray, I will see if I can find this and see if it works.
-Ross
> -----Original Message-----
> From: trilinos-users-bounces at software.sandia.gov [mailto:trilinos-users-
> bounces at software.sandia.gov] On Behalf Of Raymond Tuminaro
> Sent: Thursday, September 26, 2013 5:26 PM
> To: Erik Boman
> Cc: Bartlett, Roscoe A.; Heroux, Michael A; trilinos-
> users at software.sandia.gov; Pawlowski, Roger P
> Subject: Re: [Trilinos-Users] ilut setting
>
> I should probably point out that there is an unadvertised 'AZ_fixed_pt' which
> would be a linear operator. It should
> still work (you would use this instead of AZ_gmres), but I haven't looked at it
> in years. I'm not sure it is
> in any parameter lists or in Stratimikos ... but I suspect it could be added
> easily if deemed useful.
>
> -Ray
>
>
> On 09/26/13 14:04, Erik Boman wrote:
> > I don't think one iteration of GMRES is a linear operator because the
> > step length is nonlinear. This is true even for CG. It may still work as
> > a preconditioner in most cases, but the safer approach would be to use
> > FGMRES in the outer iteration.
> >
> > Erik
> >
> > Bartlett, Roscoe A. wrote:
> >>
> >> *Bui,*
> >>
> >> * *
> >>
> >> *Let me try to throw an example together which should not be hard if
> >> this indeed will work (the only using would be if a single GMRES
> >> iteration is not really a linear operator). If it get it working I
> >> will commit it to the set of Stratimikos examples in Trilinos and
> >> then send out the git patch (which should work on the public clone of
> >> Trilinos).*
> >>
> >> * *
> >>
> >> *-Ross*
> >>
> >> * *
> >>
> >>
> >>
> >> *From:* Hoang Giang Bui [mailto:hgbk2008 at gmail.com]
> >> *Sent:* Wednesday, September 25, 2013 7:16 PM
> >> *To:* Pawlowski, Roger P; Bartlett, Roscoe A.
> >> *Cc:* Heroux, Michael A; Cyr, Eric C; trilinos-users at software.sandia.gov
> >> *Subject:* Re: [Trilinos-Users] ilut setting
> >>
> >>
> >>
> >>
> >> Dear Ross, Pawlowski et al
> >>
> >> The idea of using NOX is quite simple but is not familiar to me since
> >> I didn't use NOX. Additionally, I would want to use AztecOO as
> >> sub-preconditioner in block preconditioning. Therefore, I prefer the
> >> approach of Ross and wrap it under Teko. However, I didn't quite get
> >> the idea since so many interfaces involved. I wrote a snippet to see
> >> if I understand this concept correctly:
> >>
> >>
> >> //create the Stratimikos linear solver builder
> >> Stratimikos::DefaultLinearSolverBuilder strat;
> >> strat.setParameterList(xtraParam); //xtraParam is where I define GMRES
> >> and related params
> >>
> >> //first create a DefaultInverseLinearOp which contains an AztecOO solver
> >> Teuchos::RCP<Thyra::LinearOpWithSolveFactoryBase<double> >
> >> PrecOpFactory = strat.createLinearSolveStrategy("AztecOO");
> >>
> >> Teuchos::RCP<Thyra::LinearOpWithSolveBase<double> > PrecOp =
> >> PrecOpFactory->createOp();
> >>
> >> Teuchos::RCP<Thyra::DefaultInverseLinearOp<double> > InverseOp =
> >> Teuchos::rcp(new Thyra::DefaultInverseLinearOp<double>(PrecOp));
> >>
> >> //second create a LinearOpWithSolveBase to hold the solver as
> >> preconditioner
> >> Teuchos::RCP<Thyra::LinearOpWithSolveFactoryBase<double> >
> >> SolveOpFactory = strat.createLinearSolveStrategy("AztecOO"); //I reuse
> >> AztecOO here for simplicity
> >>
> >> Teuchos::RCP<Thyra::LinearOpWithSolveBase<double> > SolveOp =
> >> SolveOpFactory->createOp();
> >>
> >> SolveOpFactory->initializePreconditionedOp(....,
> >>
> >> &*SolveOp,Thyra::SUPPORT_SOLVE_FORWARD_ONLY);
> >>
> >> I wonder what should be put under dot in initializePreconditionedOp ?
> >>
> >> Bui
> >>
> >>
> >>
> >>
> >>
> >> On Tue, Sep 24, 2013 at 2:59 PM, Pawlowski, Roger P
> >> <rppawlo at sandia.gov<mailto:rppawlo at sandia.gov>> wrote:
> >>
> >> Just to follow up on Ross's comment. The NOX epetra group does allow
> >> you to use the aztecoo preconditioners by performing a single GMRES
> >> step as he said. You can get access to this by calling the
> >> NOX::Epetra::Group::applyRightPreconditioning() method and selecting
> >> the aztecoo preconditioner in the parameter list for building the
> >> aztecoo linear system.
> >>
> >> Roger
> >>
> >> ------------------------------------------------------------------------
> >>
> >> *From:* trilinos-users-bounces at software.sandia.gov
> >> <mailto:trilinos-users-bounces at software.sandia.gov>
> >> [trilinos-users-bounces at software.sandia.gov
> >> <mailto:trilinos-users-bounces at software.sandia.gov>] on behalf of
> >> Heroux, Michael A [maherou at sandia.gov<mailto:maherou at sandia.gov>]
> >> *Sent:* Monday, September 23, 2013 12:13 PM
> >> *To:* Bartlett, Roscoe A.; Cyr, Eric C; Hoang Giang Bui
> >> *Cc:* trilinos-users at software.sandia.gov
> >> <mailto:trilinos-users at software.sandia.gov>
> >> *Subject:* Re: [Trilinos-Users] ilut setting
> >>
> >> Ross' approach is a reasonable path. AztecOO does have a
> >> SetPreconditioner, ConstructPrecondition, and DestroyPreconditioner
> >> method. But it does not have an ApplyPreconditioner. It would be
> >> very straightforward to create such a method using
> >> ConstructPreconditioner as the starting point, but I hesitate add code
> >> to AztecOO if the suggested approach that Ross outlined works for you.
> >>
> >>
> >>
> >> Mike
> >>
> >>
> >>
> >> *From: *<Bartlett>, Ross Bartlett<bartlettra at ornl.gov
> >> <mailto:bartlettra at ornl.gov>>
> >> *Date: *Monday, September 23, 2013 10:55 AM
> >>
> >> *To: *Eric Cyr<hgbk2008 at gmail.com<mailto:hgbk2008 at gmail.com>>
> >>
> >>
> >> *Cc: *"trilinos-users at software.sandia.gov
> >> <mailto:trilinos-users at software.sandia.gov>>
> >> *Subject: *Re: [Trilinos-Users] [EXTERNAL] Re: ilut setting
> >>
> >>
> >>
> >> I think NOX uses AztecOO as a precoditioner by doing a single GMRES
> >> iteration. Roger Pawlowski would know more.
> >>
> >>
> >>
> >> Stratimikos does not directly support such a usage but you could use
> >> Stratimikos and Thyra to construct such a thing. You would use one
> >> Stratikmikos linear solver builder to create an AztecOO
> >> LinearOpWtihSolveBase object with GMRES and a single iteration then
> >> you would wrap this within a Thyra::DefaultInverseLinearOp object (see
> >>
> http://trilinos.sandia.gov/packages/docs/dev/packages/thyra/doc/html/clas
> sThyra_1_1DefaultInverseLinearOp.html
> >> ). You would then use another Stratimikos linear solver build to
> >> create a Thyra::LinearOpWithSolveFactoryBase object (i.e. Belos) and
> >> then create a new LinearOpWithSolveBase object where you set the
> >> AztecOO GMRESS solver set that as a preconditioner using
> >> Thyra::LinearOpWithSolveFactoryBase::initializePreconditionedOp() (see
> >>
> http://trilinos.sandia.gov/packages/docs/dev/packages/thyra/doc/html/clas
> sThyra_1_1LinearOpWithSolveFactoryBase.html#a3c0e4b3df20383b09eb0f4
> b671576783
> >> ).
> >>
> >>
> >>
> >> This is only a few lines of code once you have the two
> >> Stratimikos::DefaultLinearSolverBuilder objects created.
> >>
> >>
> >>
> >> -Ross
> >>
> >>
> >>
> >> *From:* trilinos-users-bounces at software.sandia.gov
> >> <mailto:trilinos-users-bounces at software.sandia.gov>
> >> [mailto:trilinos-users-bounces at software.sandia.gov] *On Behalf Of
> >> *Cyr, Eric C
> >> *Sent:* Monday, September 23, 2013 11:02 AM
> >> *To:* Hoang Giang Bui
> >> *Cc:* trilinos-users at software.sandia.gov
> >> <mailto:trilinos-users at software.sandia.gov>
> >> *Subject:* Re: [Trilinos-Users] [EXTERNAL] Re: ilut setting
> >>
> >>
> >>
> >> Bui
> >>
> >>
> >>
> >> So to clarify you would like to use only the preconditioners within
> >> AztecOO? Furthermore you want to apply this repeatedly with out
> >> rebuilding at each iteration?
> >>
> >>
> >>
> >> I'm not sure if only the preconditioners from AztecOO can be used, can
> >> someone else answer this?
> >>
> >>
> >>
> >> Eric
> >>
> >>
> >> On Sep 23, 2013, at 5:28 AM, "Hoang Giang Bui"<hgbk2008 at gmail.com
> >> <mailto:hgbk2008 at gmail.com>> wrote:
> >>
> >> I think the problem lies in line 1044 of
> >> Thyra_AztecOOLinearOpWithSolveFactory.cpp. The
> >> ConstructPreconditioner try to set AZ_pre_calc to AZ_reuse so the
> >> method failed as the previous message showed. However, I'm not
> >> sure that uncomment the next line will do the thing correctly.
> >> Because I tried to uncomment and it can pass the AZ_pre_calc error
> >> but the preconditioner take so long to compute. I think the
> >> Stratimikos's AztecOO interface try to run several iteration steps
> >> to compute the approximation instead of applying the
> >> preconditioner directly. This is not what I want, I think there
> >> should be option to apply AztecOO's preconditioner directly
> >> instead of trial solving steps. This will lead to recomputing the
> >> preconditioner at every iteration steps of outer loop.
> >>
> >> Bui
> >>
> >> This is the parameter list I used for my test:
> >> <ParameterList name="AztecOO">
> >> <Parameter name="Type" type="string" value="AztecOO"/>
> >> <ParameterList name="Forward Solve">
> >> <ParameterList name="AztecOO Settings">
> >> <Parameter name="Aztec Solver" type="string"
> >> value="BiCGStab"/>
> >> <Parameter name="Aztec Preconditioner" type="string"
> >> value="ilut"/>
> >> <Parameter name="Overlap" type="int" value="1"/>
> >> <Parameter name="Graph Fill" type="int" value="0"/>
> >> <Parameter name="Drop Tolerance" type="double" value="0.0"/>
> >> <Parameter name="Fill Factor" type="double" value="10.0"/>
> >> <Parameter name="Steps" type="int" value="3"/>
> >> <Parameter name="Polynomial Order" type="int" value="3"/>
> >> <Parameter name="RCM Reordering" type="string"
> >> value="Enabled"/>
> >> <Parameter name="Orthogonalization" type="string"
> >> value="Classical"/>
> >> <Parameter name="Size of Krylov Subspace" type="int"
> >> value="1000"/>
> >> <Parameter name="Convergence Test" type="string"
> >> value="r0"/>
> >> <Parameter name="Ill-Conditioning Threshold"
> >> type="double" value="1e+11"/>
> >> <Parameter name="Output Frequency" type="int" value="1"/>
> >> </ParameterList>
> >> <Parameter name="Max Iterations" type="int" value="1"/>
> >> <Parameter name="Tolerance" type="double" value="1e-9"/>
> >> </ParameterList>
> >> <Parameter name="Output Every RHS" type="bool" value="false"/>
> >> <ParameterList name="VerboseObject">
> >> <Parameter name="Output File" type="string" value="none"/>
> >> <Parameter name="Verbosity Level" type="string" value="none"/>
> >> </ParameterList>
> >> </ParameterList>
> >>
> >>
> >> On 09/20/2013 06:04 PM, Cyr, Eric C wrote:
> >>
> >> I don't know why. I've never used the native Aztec
> >> preconditioners and always use IFPACK (though not the ILUT).
> >> Its possible (likely even) that the default AztecOO parameters
> >> specified in Stratimikos don't satisfy the requirements of
> >> Aztec as stated in the error text you sent below. I'd look at
> >> AZ_pre_calc and try to see if its set to "reuse". If so I
> >> think thats the problem.
> >>
> >>
> >>
> >> Eric
> >>
> >>
> >>
> >> *From: *Hoang Giang Bui<hgbk2008 at gmail.com
> >> <mailto:hgbk2008 at gmail.com>>
> >> *Date: *Friday, September 20, 2013 3:04 AM
> >> *To: *Eric Cyr<eccyr at sandia.gov<mailto:eccyr at sandia.gov>>
> >> *Subject: *Re: [EXTERNAL] Re: [Trilinos-Users] ilut setting
> >>
> >>
> >>
> >>
> >> Hi again,
> >>
> >> I realized that this was not correct since
> >> Thyra::LinearOpBase and Epetra_Operator are not
> >> incompatible. I fixed that using Thyra::block1x1 and it
> >> seems working. However with this setting
> >>
> >> <ParameterList name="AztecOO">
> >> <Parameter name="Type" type="string" value="AztecOO"/>
> >> <ParameterList name="Forward Solve">
> >> <ParameterList name="AztecOO Settings">
> >> <Parameter name="Aztec Solver" type="string"
> >> value="BiCGStab"/>
> >> <Parameter name="Aztec Preconditioner"
> >> type="string" value="ilut"/>
> >> <Parameter name="Overlap" type="int" value="1"/>
> >> <Parameter name="Graph Fill" type="int" value="0"/>
> >> <Parameter name="Drop Tolerance" type="double"
> >> value="0.0"/>
> >> <Parameter name="Fill Factor" type="double"
> >> value="10.0"/>
> >> <Parameter name="Steps" type="int" value="3"/>
> >> <Parameter name="Polynomial Order" type="int"
> >> value="3"/>
> >> <Parameter name="RCM Reordering" type="string"
> >> value="Enabled"/>
> >> <Parameter name="Orthogonalization"
> >> type="string" value="Classical"/>
> >> <Parameter name="Size of Krylov Subspace"
> >> type="int" value="1000"/>
> >> <Parameter name="Convergence Test" type="string"
> >> value="r0"/>
> >> <Parameter name="Ill-Conditioning Threshold"
> >> type="double" value="1e+11"/>
> >> <Parameter name="Output Frequency" type="int"
> >> value="1"/>
> >> </ParameterList>
> >> <Parameter name="Max Iterations" type="int"
> >> value="1"/>
> >> <Parameter name="Tolerance" type="double"
> >> value="1e-9"/>
> >> </ParameterList>
> >> <Parameter name="Output Every RHS" type="bool"
> >> value="true"/>
> >> <ParameterList name="VerboseObject">
> >> <Parameter name="Output File" type="string"
> >> value="none"/>
> >> <Parameter name="Verbosity Level" type="string"
> >> value="default"/>
> >> </ParameterList>
> >> </ParameterList>
> >>
> >>
> >>
> >> generates a runtime error:
> >>
> >>
> >>
> *******************************************************
> >> ***** Problem: Epetra::CrsMatrix
> >> ***** Preconditioned BICGSTAB solution
> >> *****
> >>
> Thyra::DefaultInverseLinearOp<double>{lows=Thyra::AztecOOLinearOpWith
> Solve{fwdOp=Thyra::EpetraLinearOp{op='Epetra_CrsMatrix',rangeDim=4144
> 3,domainDim=41443}},fwdSolveCriteria=DEFAULT,adjSolveCriteria=DEFAULT}
> >> ***** No scaling
> >>
> >>
> *******************************************************
> >>
> >> iter: 0 residual = 1.000000e+00
> >>
> >>
> >>
> *******************************************************
> >> ***** Problem: Epetra::CrsMatrix
> >> ***** Preconditioned BICGSTAB solution
> >> ***** ILUT( fill-in = 1.000e+01, drop = 0.000e+00)
> >> ***** with overlap = 1
> >> ***** No scaling
> >> ***** NOTE: convergence VARIES when the total
> >> number of
> >> ***** processors is changed.
> >>
> >>
> *******************************************************
> >>
> >> Error: Did not find previous factorization (requested
> >> by setting options[AZ_pre_calc] to AZ_reuse).
> >> To find this factorization, the following
> >> parameters must match the previous factorization:
> >> 1) Total number of unknowns.
> >> 2) options[AZ_overlap]
> >> 3) options[AZ_scaling]
> >> 4) options[AZ_precond]
> >> 5) options[AZ_reorder]
> >> 6) options[AZ_type_overlap]
> >> 7) options[AZ_subdomain_solve]
> >> 8) options[AZ_graph_fill]
> >> 9) params[AZ_ilut_fill]
> >> 10) params[AZ_drop]
> >> 11) data_org[AZ_name]
> >>
> >> Do you know why ?
> >>
> >> Bui
> >>
> >>
> >>
> >>
> >> On 09/20/2013 12:19 AM, Hoang Giang Bui wrote:
> >>
> >>
> >> Hi Eric
> >>
> >> I manage to know all the AztecOO settings by reading
> >> Stratimikos. However, it still didn't work as I
> >> expected. Even with the setting "Aztec Solver" as "LU"
> >> doesn't work as well. That's kind of strange. I want
> >> to ask if I did program correctly or not. In my case
> >> for the first step there are no pressure, so matrix
> >> has just one block. To build preconditioner using
> >> Teko, I invoke:
> >>
> >> Teuchos::RCP<const Teko::InverseFactory> inverseA =
> >> mInverseLibrary->getInverseFactory("AztecOO");
> >>
> >> Teko::LinearOp opA =
> >> Thyra::epetraLinearOp(blkExtractor.GetBlock(0, 0));
> >>
> >> Teko::LinearOp inv_rA = Teko::buildInverse(*inverseA,
> >> opA); //build the preconditioner using Teko InverseFactory
> >>
> >> Teuchos::RCP<const Epetra_Operator> opPrec =
> >> Teuchos::rcp_dynamic_cast<const Epetra_Operator>(inv_rA);
> >>
> >> Teuchos::RCP<Epetra_Operator> mPrec =
> >> Teuchos::rcp_const_cast<Epetra_Operator>(opPrec);
> >>
> >> .............
> >>
> >> aztec_solver.SetPrecOperator(*mPrec);
> >>
> >> Do you think this is correct?
> >>
> >> Bui
> >>
> >>
> >>
> >>
> >>
> >> On Thu, Sep 19, 2013 at 8:14 PM, Cyr, Eric C
> >> <eccyr at sandia.gov<mailto:eccyr at sandia.gov>> wrote:
> >>
> >> Yeah, thats what you want. Instead of using the string
> >> "Ifpack" when you
> >> call the sub solve, use "AztecOO". Teko is "smart"
> >> enough to know that a
> >> solver can be used as a preconditioner. (You can also
> >> use Amesos, if you
> >> want a direct solver) If you'd like to know how to
> >> specify a
> >> preconditioner for Azteco when used as a sub solve let
> >> me know.
> >>
> >> Eric
> >>
> >>
> >> On 9/19/13 12:04 PM, "Hoang Giang Bui"
> >> <hgbk2008 at gmail.com<mailto:hgbk2008 at gmail.com>> wrote:
> >>
> >> >Hi Eric
> >> >
> >> >Yes, that what I currently use. For example in
> >> attached file. (The
> >> >AztecOO section is irrelevant)
> >> >
> >> >Bui
> >> >
> >> >On 09/19/2013 07:45 PM, Cyr, Eric C wrote:
> >> >> Are you using the Teko parameter list, and defining
> >> an InverseFactory
> >> >> through it?
> >> >>
> >> >> Eric
> >> >>
> >> >> On 9/19/13 11:08 AM, "Hoang Giang Bui"
> >> <hgbk2008 at gmail.com<mailto:hgbk2008 at gmail.com>> wrote:
> >> >>
> >> >>> 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<mailto: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>
> >> >>>>>>>>
> >> [mailto: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
> >> <mailto: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>
> >> >>>>>>>> <mailto: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>
> >> >>>>>>>> <mailto: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
> >> <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
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> --
> >> 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
> >>
> >
> > _______________________________________________
> > Trilinos-Users mailing list
> > Trilinos-Users at software.sandia.gov
> > http://software.sandia.gov/mailman/listinfo/trilinos-users
>
> --
> Ray Tuminaro phone: (925) 294-2564
> MS 9159 fax: (925) 294-2234
> Sandia National Laboratories email: rstumin at sandia.gov
> PO Box 969 http://www.cs.sandia.gov/~rstumin
> Livermore, CA 94551
>
>
> _______________________________________________
> 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