Memosa-FVM  0.2
ILU0Solver.h
Go to the documentation of this file.
1 // This file os part of FVM
2 // Copyright (c) 2012 FVM Authors
3 // See LICENSE file for terms.
4 
5 #ifndef _ILU0Solver_H_
6 #define _ILU0Solver_H_
7 
8 #include <vector>
9 #include "LinearSystem.h"
10 #include "MultiFieldReduction.h"
11 #include "LinearSolver.h"
12 
13 using namespace std;
14 
20 class ILU0Solver : public LinearSolver
21 {
22 public:
23 
24  ILU0Solver();
25  virtual ~ILU0Solver();
26  virtual MFRPtr solve(LinearSystem & ls);
27 
28  virtual void cleanup();
29  virtual void smooth(LinearSystem& ls);
30 
31  DEFINE_TYPENAME("ILU0Solver");
32 private:
33  void doSweeps(LinearSystem& ls, const int nSweeps);
34  ILU0Solver(const ILU0Solver&);
35 };
36 
37 #endif
38 
#define DEFINE_TYPENAME(T)
Definition: RLogInterface.h:46
shared_ptr< MultiFieldReduction > MFRPtr