[Trilinos-Users] Ifpack_Preconditioner

Bora Ucar boraucar at gmail.com
Tue Mar 14 20:41:19 MST 2006


Hi,

I am constructing ILUT preconditioner using the lines
-----------------------------------------------------------------------------------------------------------------------
/*Matrix SC is already fillcomplete'd*/

OverlapLevel = 0;
List.set("fact: drop tolerance", 1e-3);
Ifpack_Preconditioner *BJforSC;
BJforSC = new Ifpack_AdditiveSchwarz<Ifpack_ILUT>(SC, OverlapLevel);
BJforSC->SetParameters(List);
BJforSC->Initialize();
BJforSC->Compute();

-----------------------------------------------------------------------------------------------------------------------

I need to access to number of nonzeros in the approximate factors L and U.

Ifpack manual (SAND2005-0662) says the lines

Ifpack_ILUT* Inverse = BJforSC->Inverse();
const Epetra_CrsMatrix& L = Inverse->L();

should work.

But, I got the following compilation error
-----------------------------------------------------------------------------------------------------------------------
proPre.cpp: In constructor `proPre::proPre(Epetra_CrsMatrix&,
   Epetra_CrsMatrix&, const Epetra_Comm&, const Epetra_Map&)':
proPre.cpp:71: no matching function for call to `Ifpack_Preconditioner::Inverse
   ()'
-----------------------------------------------------------------------------------------------------------------------

The file proPre.cpp: includes

#include "Ifpack_config.h"
#include "Ifpack_ConfigDefs.h"
#include "Ifpack.h"
#include "Ifpack_AdditiveSchwarz.h"
#include "Ifpack_ILUT.h"
#include "Ifpack_Preconditioner.h"

Can you see any problems?




More information about the Trilinos-Users mailing list