Memosa-FVM  0.2
SpikeSolver.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 _SpikeSolver_H_
6 #define _SpikeSolver_H_
7 
8 #include <vector>
9 #include "LinearSystem.h"
10 #include "MultiFieldReduction.h"
11 #include "LinearSolver.h"
12 
13 class SpikeStorage;
14 using namespace std;
15 
21 class SpikeSolver : public LinearSolver
22 {
23 public:
24 
25  SpikeSolver( const SpikeStorage& spike_storage);
26  virtual ~SpikeSolver();
27  virtual MFRPtr solve(LinearSystem & ls);
28 
29  virtual void cleanup();
30  virtual void smooth(LinearSystem& ls);
31 
32  DEFINE_TYPENAME("SpikeSolver");
33 private:
34  void doSweeps(LinearSystem& ls, const int nSweeps);
35  SpikeSolver(const SpikeSolver&);
37 };
38 
39 #endif
40 
#define DEFINE_TYPENAME(T)
Definition: RLogInterface.h:46
const SpikeStorage & _spikeStorage
Definition: SpikeSolver.h:36
shared_ptr< MultiFieldReduction > MFRPtr