10 #ifndef __Teko_mlutils_hpp__
11 #define __Teko_mlutils_hpp__
13 #include "ml_operator.h"
14 #include "Epetra_Map.h"
15 #include "Epetra_CrsMatrix.h"
17 #include "Teuchos_RCP.hpp"
28 Teuchos::RCP<Epetra_Map> buildRowMap(ML_Operator *mlOp);
33 Teuchos::RCP<Epetra_CrsMatrix> convertToCrsMatrix(
34 ML_Operator *mlOp,
const Teuchos::RCP<Epetra_Map> &rowMap = Teuchos::null);
36 Teko::LinearOp buildTekoBlockOp(ML_Operator *mlOp,
int level);
41 Teuchos::RCP<Epetra_Operator> Amat;
42 Teuchos::RCP<Epetra_Operator> smootherOperator;
47 int smoother(ML_Smoother *mydata,
int leng1,
double x[],
int leng2,
double rhs[]);
49 extern "C" int ML_Gen_Smoother_Teko(ML *ml,
int level,
int pre_or_post,
int ntimes,
50 const Teuchos::RCP<const Teuchos::ParameterList> &tekoPL,
51 const Teuchos::RCP<const Teko::InverseLibrary> &invLib,
52 const std::string &inverse,
bool isBlocked);