Memosa-FVM  0.2
JacobiSolver.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 _JACOBISOLVER_H_
6 #define _JACOBISOLVER_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 JacobiSolver : public LinearSolver
21 {
22 public:
23 
24  JacobiSolver();
25  virtual ~JacobiSolver();
26  virtual MFRPtr solve(LinearSystem & ls);
27 
28  virtual void cleanup();
29  virtual void smooth(LinearSystem& ls);
30 
31  DEFINE_TYPENAME("JacobiSolver");
32 private:
33  void doSweeps(LinearSystem& ls, const int nSweeps);
34  JacobiSolver(const JacobiSolver&);
35 };
36 
37 #endif
38 
#define DEFINE_TYPENAME(T)
Definition: RLogInterface.h:46
shared_ptr< MultiFieldReduction > MFRPtr