Teko Version of the Day
Loading...
Searching...
No Matches
Teko_mlutils.hpp
1#ifndef __Teko_mlutils_hpp__
2#define __Teko_mlutils_hpp__
3
4#include "ml_operator.h"
5#include "Epetra_Map.h"
6#include "Epetra_CrsMatrix.h"
7
8#include "Teuchos_RCP.hpp"
9
10#include "Teko_Utilities.hpp"
11
12namespace Teko {
13
14class InverseLibrary;
15
16namespace mlutils {
17
19Teuchos::RCP<Epetra_Map> buildRowMap(ML_Operator * mlOp);
20
24Teuchos::RCP<Epetra_CrsMatrix> convertToCrsMatrix(ML_Operator * mlOp,
25 const Teuchos::RCP<Epetra_Map> & rowMap=Teuchos::null);
26
27Teko::LinearOp buildTekoBlockOp(ML_Operator * mlOp,int level);
28
29
33 Teuchos::RCP<Epetra_Operator> Amat;
34 Teuchos::RCP<Epetra_Operator> smootherOperator;
35};
36
39int smoother(ML_Smoother *mydata, int leng1, double x[], int leng2,
40 double rhs[]);
41
42extern "C"
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);
45
46}
47}
48
49#endif