Memosa-FVM  0.2
SpikeStorage.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 _SpikeStorage_H_
6 #define _SpikeStorage_H_
7 
8 #include <vector>
13 class CRConnectivity;
14 
16 {
17 public:
18  //conn: cellcells connectivtiy
19  SpikeStorage(const CRConnectivity& conn, int semi_bandwidth);
20  ~SpikeStorage();
21  //interior
22  const vector<int>& getLSPKInterior() const {return _LSPK_INTERIOR;}
23  const vector<int>& getRSPKInterior() const {return _RSPK_INTERIOR;}
24  //ghost
25  const vector<int>& getLSPKGhost() const {return _LSPK_GHOST;}
26  const vector<int>& getRSPKGhost() const {return _RSPK_GHOST;}
27  //offdiag_ptr
28  const vector<int>& getLSPKOffDiagPtr() const {return _LSPK_OFFD_PTR;}
29  const vector<int>& getRSPKOffDiagPtr() const {return _RSPK_OFFD_PTR;}
30  //get I and J indices (local)
31  const vector<int>& getLSPKIndexI() const { return _LSPK_I;}
32  const vector<int>& getLSPKIndexJ() const { return _LSPK_J;}
33  const vector<int>& getRSPKIndexI() const { return _RSPK_I;}
34  const vector<int>& getRSPKIndexJ() const { return _RSPK_J;}
35  //get GhostCount
36  const vector<int>& getLSPKCountGhost() const { return _LSPKCountGhost;}
37  const vector<int>& getRSPKCountGhost() const { return _RSPKCountGhost;}
38 
39  int getBandWidth() const { return _bandwidth;}
40 
41 
42 private:
43  void init();
44  void gatherCellSizes();
45  void syncCellIDs();
46  void setGlobalIndices();
47  void setOffDiagPtr();
48 
51 
52  int _procID;
54  map<int,int> _ghostMap; //map before syncLocal and after syncLocal
55 
56  vector<int> _cellSelfCounts; //size=comm.size(), store each partition cell size
57  vector<int> _LSPK_INTERIOR;
58  vector<int> _LSPK_GHOST;
59  vector<int> _LSPK_OFFD_PTR;
60  vector<int> _RSPK_INTERIOR;
61  vector<int> _RSPK_GHOST;
62  vector<int> _RSPK_OFFD_PTR;
63  vector<int> _LSPK_I;
64  vector<int> _LSPK_J;
65  vector<int> _RSPK_I;
66  vector<int> _RSPK_J;
67  vector<int> _glblIndices;
68  vector<int> _LSPKCountGhost;
69  vector<int> _RSPKCountGhost;
70 
71 };
72 
73 #endif
74 
const vector< int > & getRSPKOffDiagPtr() const
Definition: SpikeStorage.h:29
vector< int > _LSPK_J
Definition: SpikeStorage.h:64
const vector< int > & getRSPKCountGhost() const
Definition: SpikeStorage.h:37
const vector< int > & getRSPKGhost() const
Definition: SpikeStorage.h:26
vector< int > _LSPK_I
Definition: SpikeStorage.h:63
const vector< int > & getRSPKInterior() const
Definition: SpikeStorage.h:23
void setOffDiagPtr()
const vector< int > & getLSPKCountGhost() const
Definition: SpikeStorage.h:36
vector< int > _RSPK_I
Definition: SpikeStorage.h:65
const vector< int > & getLSPKIndexI() const
Definition: SpikeStorage.h:31
vector< int > _RSPK_GHOST
Definition: SpikeStorage.h:61
vector< int > _LSPK_OFFD_PTR
Definition: SpikeStorage.h:59
vector< int > _LSPKCountGhost
Definition: SpikeStorage.h:68
vector< int > _RSPK_OFFD_PTR
Definition: SpikeStorage.h:62
void syncCellIDs()
vector< int > _LSPK_GHOST
Definition: SpikeStorage.h:58
const vector< int > & getLSPKInterior() const
Definition: SpikeStorage.h:22
vector< int > _RSPKCountGhost
Definition: SpikeStorage.h:69
vector< int > _RSPK_INTERIOR
Definition: SpikeStorage.h:60
const CRConnectivity & _conn
Definition: SpikeStorage.h:49
int _localCellSelfCount
Definition: SpikeStorage.h:53
const vector< int > & getLSPKGhost() const
Definition: SpikeStorage.h:25
vector< int > _RSPK_J
Definition: SpikeStorage.h:66
vector< int > _glblIndices
Definition: SpikeStorage.h:67
map< int, int > _ghostMap
Definition: SpikeStorage.h:54
const vector< int > & getLSPKOffDiagPtr() const
Definition: SpikeStorage.h:28
const vector< int > & getRSPKIndexJ() const
Definition: SpikeStorage.h:34
SpikeStorage(const CRConnectivity &conn, int semi_bandwidth)
int getBandWidth() const
Definition: SpikeStorage.h:39
void setGlobalIndices()
const vector< int > & getLSPKIndexJ() const
Definition: SpikeStorage.h:32
vector< int > _cellSelfCounts
Definition: SpikeStorage.h:56
const vector< int > & getRSPKIndexI() const
Definition: SpikeStorage.h:33
vector< int > _LSPK_INTERIOR
Definition: SpikeStorage.h:57
void gatherCellSizes()