1#ifndef __Teko_mlutils_hpp__
2#define __Teko_mlutils_hpp__
4#include "ml_operator.h"
6#include "Epetra_CrsMatrix.h"
8#include "Teuchos_RCP.hpp"
19Teuchos::RCP<Epetra_Map> buildRowMap(ML_Operator * mlOp);
24Teuchos::RCP<Epetra_CrsMatrix> convertToCrsMatrix(ML_Operator * mlOp,
25 const Teuchos::RCP<Epetra_Map> & rowMap=Teuchos::null);
27Teko::LinearOp buildTekoBlockOp(ML_Operator * mlOp,
int level);
33 Teuchos::RCP<Epetra_Operator> Amat;
34 Teuchos::RCP<Epetra_Operator> smootherOperator;
39int smoother(ML_Smoother *mydata,
int leng1,
double x[],
int leng2,
43int ML_Gen_Smoother_Teko(ML *ml,
int level,
int pre_or_post,
int ntimes,
const Teuchos::RCP<const Teuchos::ParameterList> & tekoPL,
44 const Teuchos::RCP<const Teko::InverseLibrary> & invLib,
const std::string & inverse,
bool isBlocked);