Memosa-FVM  0.2
Mesh.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 _MESH_H_
6 #define _MESH_H_
7 
8 #ifdef FVM_PARALLEL
9 #include <mpi.h>
10 #endif
11 
12 
13 #include "Array.h"
14 
15 #include "StorageSite.h"
16 #include "Vector.h"
17 #include "Field.h"
18 #include "FieldLabel.h"
19 #include <vector>
20 #include <map>
21 #include <set>
22 
23 class CRConnectivity;
24 class GeomFields;
25 
26 class MPM;
27 
28 struct FaceGroup
29 {
30  FaceGroup(const int count_,
31  const int offset_,
32  const StorageSite& parent_,
33  const int id_,
34  const string& groupType_) :
35  site(count_,0,offset_,&parent_),
36  id(id_),
37  groupType(groupType_)
38  {}
39 
41  const int id;
42  string groupType;
43 };
44 
45 
46 typedef shared_ptr<FaceGroup> FaceGroupPtr;
47 typedef vector<FaceGroupPtr> FaceGroupList;
48 
49 class Mesh
50 {
51 public:
52 
55 
56  typedef vector<int> vecList;
57  typedef multimap<int,int> multiMap;
58  typedef map<int,int> mapInt;
59 
60  typedef pair<const StorageSite*, const StorageSite*> SSPair;
61  typedef map<SSPair,shared_ptr<CRConnectivity> > ConnectivityMap;
62  typedef pair<int,int> PartIDMeshIDPair; //other Partition ID, other MeshID (always)
63  typedef map< PartIDMeshIDPair, shared_ptr<StorageSite> > GhostCellSiteMap;
64  typedef pair<const StorageSite*, const StorageSite*> EntryIndex;
65  typedef map<EntryIndex, shared_ptr<ArrayBase> > GhostArrayMap;
66 
67  typedef map<int,int> PeriodicFacePairs;
68 
69  enum
70  {
79  } CellType;
80 
81 
82  enum
83  {
89  };
90 
91  Mesh(const int dimension);
92  Mesh(const int dimension, const Array<VecD3>& faceNodesCoord );
93  Mesh(const int dimension,
94  const int nCells,
95  const Array<VecD3>& nodesCoord,
96  const Array<int>& faceCellIndices,
97  const Array<int>& faceNodeIndices,
98  const Array<int>& faceNodeCount,
99  const Array<int>& faceGroupSize );
100 
101  ~Mesh();
102 
103  DEFINE_TYPENAME("Mesh");
104 
105  int getDimension() const {return _dimension;}
106  int getID() const {return _id;}
107 
108  const StorageSite& getFaces() const {return _faces;}
109  const StorageSite& getCells() const {return _cells;}
110  const StorageSite& getNodes() const {return _nodes;}
111  const StorageSite& getIBFaces() const {return _ibFaces;}
112 
114  { return _ghostCellSiteScatterMap.find(id)->second.get(); }
115 
117  { return _ghostCellSiteScatterMap; }
118 
120  { return _ghostCellSiteScatterMap; }
121 
123  { return _ghostCellSiteGatherMap.find(id)->second.get(); }
124 
126  { return _ghostCellSiteGatherMap; }
127 
129  { return _ghostCellSiteGatherMap; }
130 
131 
132 
133 
134 
135 
137  { return _ghostCellSiteScatterMapLevel1.find(id)->second.get(); }
138 
141 
144 
146  { return _ghostCellSiteGatherMapLevel1.find(id)->second.get(); }
147 
150 
153 
154 
155 
160 
161  // this should only be used when we know that the connectivity
162  // exists, for connectivities that are computed on demand the
163  // specific functions below should be used
164 
165  const CRConnectivity& getConnectivity(const StorageSite& from,
166  const StorageSite& to) const;
167 
168  const CRConnectivity& getAllFaceNodes() const;
169  const CRConnectivity& getAllFaceCells() const;
170  const CRConnectivity& getCellNodes() const;
171 
172  const CRConnectivity& getFaceCells(const StorageSite& site) const;
173  const CRConnectivity& getFaceNodes(const StorageSite& site) const;
174  const CRConnectivity& getCellFaces() const;
175  const CRConnectivity& getCellCells() const;
176  const CRConnectivity& getCellCells2() const;
177  const CRConnectivity& getFaceCells2() const;
178 
180 
182 
183  int getFaceGroupCount() const {return _faceGroups.size();}
184  int getBoundaryGroupCount() const {return _boundaryGroups.size();}
185  int getInterfaceGroupCount() const {return _interfaceGroups.size();}
186 
188  {return _boundaryGroups;}
189 
191  {return _interfaceGroups;}
192 
194  {return _faceGroups;}
195 
196  const FaceGroup& getFaceGroup(const int fgId) const;
197 
198  const StorageSite& createInteriorFaceGroup(const int size);
199  const StorageSite& createInterfaceGroup(const int size,const int offset,
200  const int id);
201  const StorageSite& createBoundaryFaceGroup(const int size, const int offset,
202  const int id, const string& boundaryType);
203 
204  void setCoordinates(shared_ptr<Array<VecD3> > x) {_coordinates = x;}
205  void setFaceNodes(shared_ptr<CRConnectivity> faceNodes);
206  void setFaceCells(shared_ptr<CRConnectivity> faceCells);
207 
208  void setConnectivity(const StorageSite& rowSite, const StorageSite& colSite,
209  shared_ptr<CRConnectivity> conn);
210  void eraseConnectivity(const StorageSite& rowSite,
211  const StorageSite& colSite) const;
212 
213 
214  shared_ptr<Array<int> > createAndGetBNglobalToLocal() const;
215  const ArrayBase& getBNglobalToLocal() const;
216  const StorageSite& getBoundaryNodes() const;
217 
218  const Array<VecD3>& getNodeCoordinates() const {return *_coordinates;}
220  shared_ptr<ArrayBase> getNodeCoordinatesPtr() {return _coordinates;}
221 
222  void setNumOfAssembleMesh( int nmesh ){ _numOfAssembleMesh = nmesh; }
223 
224  //VecD3 getCellCoordinate(const int c) const;
225 
226  const Array<int>& getIBFaceList() const;
227 
229  const Array<int>& getCellColors() const { return *_cellColor;}
230 
232  const Array<int>& getCellColorsOther() const { return *_cellColorOther;}
233 
234  shared_ptr< Array<int> > getLocalToGlobalNodesPtr() { return _localToGlobalNodes;}
235  const map<int,int> getGlobalToLocalNodes() const { return _globalToLocalNodes;}
236  map<int,int> getGlobalToLocalNodes() { return _globalToLocalNodes;}
237 
238 
239  shared_ptr< ArrayBase > getLocalToGlobalPtr(){ return _localToGlobal;}
241  const Array<int>& getLocalToGlobal() const { return *_localToGlobal;}
242 
243  map<int,int>& getGlobalToLocal(){ return _globalToLocal;}
244  const map<int,int>& getGlobalToLocal() const { return _globalToLocal;}
245 
246 
248  const multiMap& getCellCellsGlobal() const { return _cellCellsGlobal;}
249 
250  bool isMergedMesh() const { return _isAssembleMesh;}
252 
253  const set<int>& getBoundaryNodesSet() const { return _boundaryNodesSet;}
254  set<int>& getBoundaryNodesSet() { return _boundaryNodesSet;}
255  const map<int,int>& getCommonFacesMap() const { return _commonFacesMap;}
256  const map<int,int>& getCommonFacesMapOther() const { return _commonFacesMapOther;}
257 
258 
261  void syncCounts();
262 
265  void syncIndices();
266 
268 #ifdef FVM_PARALLEL
269  int numProcs = MPI::COMM_WORLD.Get_size();
270  if ( numProcs > 1 )
271  return *_cellCellsGhostExt;
272  else
273 #endif
274  return this->getCellCells();
275  }
276 
277  const ArrayBase& getSendCounts ( const EntryIndex& e ) const { return *_sendCounts[e];}
278  const ArrayBase& getSendIndices( const EntryIndex& e ) const { return *_sendIndices[e];}
279 
280  const ArrayBase& getRecvCounts ( const EntryIndex& e ) const { return *_recvCounts[e];}
281  const ArrayBase& getRecvIndices( const EntryIndex& e ) const { return *_recvIndices[e];}
282 
283 
284 
286 
287  void uniqueFaceCells();
288 
289 
290  void setIBFaces(shared_ptr<Array<int> > faceList) {_ibFaceList = faceList;}
291 
292  void createGhostCellSiteScatter( const PartIDMeshIDPair& id, shared_ptr<StorageSite> site );
293  void createGhostCellSiteGather ( const PartIDMeshIDPair& id, shared_ptr<StorageSite> site );
294  void createGhostCellSiteScatterLevel1( const PartIDMeshIDPair& id, shared_ptr<StorageSite> site );
295  void createGhostCellSiteGatherLevel1 ( const PartIDMeshIDPair& id, shared_ptr<StorageSite> site );
296 
297  void createCellColor();
298  void createLocalGlobalArray();
300 
301  void setNodeRepeationArrayCoupling(const Mesh& bMesh);
302  shared_ptr< ArrayBase > getUpdatedNodesCoordCoupling(const GeomFields& geomField, const Mesh& bMesh);
303 
304  void setCommonFacesMap( const Mesh& bMesh );
305 
306 
307  void findCommonNodes(Mesh& other);
308  void findCommonFaces(StorageSite& faces, StorageSite& otherFaces,
309  const GeomFields& geomFields);
310  bool COMETfindCommonFaces(StorageSite& faces, StorageSite& otherFaces,
311  const GeomFields& geomFields);
312 
314  Mesh* extrude(int nz, double zmax, bool boundaryOnly=false);
315 
316  Mesh* createShell(const int fgId, Mesh& otherMesh, const int otherFgId);
317  Mesh* createDoubleShell(const int fgId, Mesh& otherMesh, const int otherFgId, const bool connectedShell);
318 
319  int getCellZoneID() const { return _cellZoneID;}
320  void setCellZoneID(const int id) {_cellZoneID = id;}
321  void setID(const int id) {_id = id;}
322 
323  bool isShell() const {return _isShell;}
324  bool isDoubleShell() const {return _isDoubleShell;}
325  bool isConnectedShell() const {return _isConnectedShell;}
326  int getParentMeshID() const {return _parentMeshID;}
327  int getOtherMeshID() const {return _otherMeshID;}
328 
330  {return *_parentFaceGroupSite;}
331 
333  {return *_otherFaceGroupSite;}
334 
336 
339  void CRConnectivityPrint(const CRConnectivity& conn, int procID, const string& name);
340  void CRConnectivityPrintFile(const CRConnectivity& conn, const string& name, const int procID) const;
341  void InterfaceToBoundary();
342 
343 protected:
344 
345 
346  const int _dimension;
347 
348  // used for persistence etc. Each mesh we create has a unique ID
349  int _id;
350 
351  // used to get bcs from Fluent case.
353 
357 
360 
361  shared_ptr<FaceGroup> _interiorFaceGroup;
366  shared_ptr<Array<VecD3> > _coordinates;
367  mutable shared_ptr<Array<int> > _boundaryNodeGlobalToLocalPtr;
368 
369  mutable shared_ptr<Array<int> > _ibFaceList;
370 
371  shared_ptr< Array<int> > _cellColor;
372  shared_ptr< Array<int> > _cellColorOther;
375 
376 
379 
382 
387 
388  shared_ptr<StorageSite> _cellSiteGhostExt;
389  shared_ptr<CRConnectivity> _cellCellsGhostExt;
390 
391 
392  map<int,int> _commonFacesMap; //key=localFaceID, value = corresponding boundaryMehsFace
393  map<int,int> _commonFacesMapOther;//key=boundaryMeshFace(sitting in this process), value=localFaceID
394  set<int> _boundaryNodesSet; //store local number of boundary nodes
395  shared_ptr< Array<int> > _repeatNodes;
396  shared_ptr< Array<int> > _localToGlobalNodes;
397  shared_ptr< Array<int> > _localToGlobal;
398  mutable map <int,int> _globalToLocal;
399  mutable map <int,int> _globalToLocalNodes;
400  multiMap _cellCellsGlobal; //this hold cellCells information in global numbering, key is local,
401  // values are global neighbouring and itself(global again)
402 
403  //mutable Array<int> *_cellTypes;
404  //mutable Array<int> *_cellTypeCount;
405  mutable shared_ptr<CRConnectivity> _cellCells2;
406  mutable shared_ptr<CRConnectivity> _faceCells2;
407 
408  bool _isShell;
411 
412  // used if this is a shell mesh, points to the face group site that
413  // can be used to obtain the area of the faces that makes up the
414  // cells
415 
420 
421  static int _lastID;
422 
424 
425 private:
426  void createRowColSiteCRConn();
427  void countCRConn();
428  void addCRConn();
429  int getNumBounCells();
430  int get_request_size();
431 
432 
433 
434 
435 
436 
437 };
438 
439 typedef vector<Mesh*> MeshList;
440 
441 #endif
int getNumOfAssembleMesh() const
Definition: Mesh.h:251
const CRConnectivity & getAllFaceNodes() const
Definition: Mesh.cpp:368
const FaceGroupList & getBoundaryFaceGroups() const
Definition: Mesh.h:187
void setNodeRepeationArrayCoupling(const Mesh &bMesh)
Definition: Mesh.cpp:753
bool isDoubleShell() const
Definition: Mesh.h:324
const FaceGroup & getInteriorFaceGroup() const
Definition: Mesh.h:181
const ArrayBase & getSendCounts(const EntryIndex &e) const
Definition: Mesh.h:277
void setID(const int id)
Definition: Mesh.h:321
int getBoundaryGroupCount() const
Definition: Mesh.h:184
StorageSite & getFaces()
Definition: Mesh.h:156
shared_ptr< FaceGroup > FaceGroupPtr
Definition: Mesh.h:46
const StorageSite & getIBFaces() const
Definition: Mesh.h:111
void setFaceNodes(shared_ptr< CRConnectivity > faceNodes)
Definition: Mesh.cpp:646
StorageSite & getNodes()
Definition: Mesh.h:158
StorageSite _ibFaces
Definition: Mesh.h:358
const CRConnectivity & getConnectivity(const StorageSite &from, const StorageSite &to) const
Definition: Mesh.cpp:416
void findCommonFaces(StorageSite &faces, StorageSite &otherFaces, const GeomFields &geomFields)
Definition: Mesh.cpp:996
int get_request_size()
Definition: Mesh.cpp:2363
bool _isShell
Definition: Mesh.h:408
map< int, int > _globalToLocal
Definition: Mesh.h:398
const int _dimension
Definition: Mesh.h:346
const map< int, int > getGlobalToLocalNodes() const
Definition: Mesh.h:235
const StorageSite & getParentFaceGroupSite() const
Definition: Mesh.h:329
void eraseConnectivity(const StorageSite &rowSite, const StorageSite &colSite) const
Definition: Mesh.cpp:359
Definition: Mesh.h:28
GhostCellSiteMap & getGhostCellSiteScatterMap()
Definition: Mesh.h:119
PeriodicFacePairs & getPeriodicFacePairs()
Definition: Mesh.h:337
void createGhostCellSiteScatter(const PartIDMeshIDPair &id, shared_ptr< StorageSite > site)
Definition: Mesh.cpp:694
const FaceGroupList & getAllFaceGroups() const
Definition: Mesh.h:193
const CRConnectivity & getCellCellsGhostExt() const
Definition: Mesh.h:267
shared_ptr< Array< int > > _ibFaceList
Definition: Mesh.h:369
void CRConnectivityPrint(const CRConnectivity &conn, int procID, const string &name)
Definition: Mesh.cpp:2379
bool COMETfindCommonFaces(StorageSite &faces, StorageSite &otherFaces, const GeomFields &geomFields)
Definition: Mesh.cpp:1053
const map< int, int > & getCommonFacesMapOther() const
Definition: Mesh.h:256
StorageSite _faces
Definition: Mesh.h:355
const StorageSite & getNodes() const
Definition: Mesh.h:110
int getFaceGroupCount() const
Definition: Mesh.h:183
set< int > & getBoundaryNodesSet()
Definition: Mesh.h:254
FaceGroupList _interfaceGroups
Definition: Mesh.h:364
map< int, int > _commonFacesMapOther
Definition: Mesh.h:393
bool isConnectedShell() const
Definition: Mesh.h:325
int _id
Definition: Mesh.h:349
const StorageSite & createInteriorFaceGroup(const int size)
Definition: Mesh.cpp:259
multiMap & getCellCellsGlobal()
Definition: Mesh.h:247
ConnectivityMap & getConnectivityMap()
Definition: Mesh.h:335
Array< int > IntArray
Definition: Mesh.h:54
void createGhostCellSiteGatherLevel1(const PartIDMeshIDPair &id, shared_ptr< StorageSite > site)
Definition: Mesh.cpp:715
map< int, int > _commonFacesMap
Definition: Mesh.h:392
const Array< int > & getIBFaceList() const
Definition: Mesh.cpp:686
const ArrayBase & getRecvIndices(const EntryIndex &e) const
Definition: Mesh.h:281
const map< int, int > & getCommonFacesMap() const
Definition: Mesh.h:255
void setCoordinates(shared_ptr< Array< VecD3 > > x)
Definition: Mesh.h:204
GhostArrayMap _sendCounts
Definition: Mesh.h:383
bool _isConnectedShell
Definition: Mesh.h:410
shared_ptr< Array< int > > getLocalToGlobalNodesPtr()
Definition: Mesh.h:234
const FaceGroup & getFaceGroup(const int fgId) const
Definition: Mesh.cpp:1570
Definition: Mesh.h:49
ConnectivityMap _connectivityMap
Definition: Mesh.h:365
const CRConnectivity & getFaceNodes(const StorageSite &site) const
Definition: Mesh.cpp:402
PeriodicFacePairs _periodicFacePairs
Definition: Mesh.h:423
void setFaceCells(shared_ptr< CRConnectivity > faceCells)
Definition: Mesh.cpp:654
shared_ptr< CRConnectivity > _cellCellsGhostExt
Definition: Mesh.h:389
Mesh * createShell(const int fgId, Mesh &otherMesh, const int otherFgId)
Definition: Mesh.cpp:1582
void createRowColSiteCRConn()
Definition: Mesh.cpp:2239
void setConnectivity(const StorageSite &rowSite, const StorageSite &colSite, shared_ptr< CRConnectivity > conn)
Definition: Mesh.cpp:352
enum Mesh::@7 CellType
const StorageSite * getGhostCellSiteScatterLevel1(const PartIDMeshIDPair &id) const
Definition: Mesh.h:136
map< int, int > & getGlobalToLocal()
Definition: Mesh.h:243
const PeriodicFacePairs & getPeriodicFacePairs() const
Definition: Mesh.h:338
int getInterfaceGroupCount() const
Definition: Mesh.h:185
GhostCellSiteMap _ghostCellSiteScatterMapLevel1
Definition: Mesh.h:380
Mesh * extrude(int nz, double zmax, bool boundaryOnly=false)
Definition: Mesh.cpp:1258
map< int, int > PeriodicFacePairs
Definition: Mesh.h:67
multimap< int, int > multiMap
Definition: Mesh.h:57
Array< VecD3 > & getNodeCoordinates()
Definition: Mesh.h:219
const StorageSite & createBoundaryFaceGroup(const int size, const int offset, const int id, const string &boundaryType)
Definition: Mesh.cpp:278
string groupType
Definition: Mesh.h:42
void recvScatterGatherCountsBufferLocal()
Definition: Mesh.cpp:2050
GhostCellSiteMap _ghostCellSiteGatherMapLevel1
Definition: Mesh.h:381
const ArrayBase & getSendIndices(const EntryIndex &e) const
Definition: Mesh.h:278
const set< int > & getBoundaryNodesSet() const
Definition: Mesh.h:253
GhostArrayMap _recvIndices
Definition: Mesh.h:386
const StorageSite * getGhostCellSiteScatter(const PartIDMeshIDPair &id) const
Definition: Mesh.h:113
shared_ptr< ArrayBase > getLocalToGlobalPtr()
Definition: Mesh.h:239
bool _isDoubleShell
Definition: Mesh.h:409
const StorageSite * _otherFaceGroupSite
Definition: Mesh.h:417
Array< int > & getCellColors()
Definition: Mesh.h:228
Mesh(const int dimension)
Definition: Mesh.cpp:21
int getOtherMeshID() const
Definition: Mesh.h:327
const StorageSite & getOtherFaceGroupSite() const
Definition: Mesh.h:332
pair< const StorageSite *, const StorageSite * > EntryIndex
Definition: Mesh.h:64
const Array< int > & getLocalToGlobal() const
Definition: Mesh.h:241
const GhostCellSiteMap & getGhostCellSiteGatherMap() const
Definition: Mesh.h:128
const CRConnectivity & getAllFaceCells() const
Definition: Mesh.cpp:378
const CRConnectivity & getCellFaces() const
Definition: Mesh.cpp:454
void setNumOfAssembleMesh(int nmesh)
Definition: Mesh.h:222
shared_ptr< CRConnectivity > _cellCells2
Definition: Mesh.h:405
const int id
Definition: Mesh.h:41
map< SSPair, shared_ptr< CRConnectivity > > ConnectivityMap
Definition: Mesh.h:61
void countCRConn()
Definition: Mesh.cpp:2281
void createGhostCellSiteGather(const PartIDMeshIDPair &id, shared_ptr< StorageSite > site)
Definition: Mesh.cpp:701
int _otherMeshID
Definition: Mesh.h:419
const StorageSite & getBoundaryNodes() const
Definition: Mesh.cpp:325
FaceGroup(const int count_, const int offset_, const StorageSite &parent_, const int id_, const string &groupType_)
Definition: Mesh.h:30
set< int > _boundaryNodesSet
Definition: Mesh.h:394
shared_ptr< Array< int > > _boundaryNodeGlobalToLocalPtr
Definition: Mesh.h:367
const GhostCellSiteMap & getGhostCellSiteGatherMapLevel1() const
Definition: Mesh.h:151
static int _lastID
Definition: Mesh.h:421
GhostCellSiteMap _ghostCellSiteScatterMap
Definition: Mesh.h:377
void syncCounts()
Definition: Mesh.cpp:2072
StorageSite & getCells()
Definition: Mesh.h:157
const Array< VecD3 > & getNodeCoordinates() const
Definition: Mesh.h:218
const StorageSite & createInterfaceGroup(const int size, const int offset, const int id)
Definition: Mesh.cpp:268
Array< int > & getLocalToGlobal()
Definition: Mesh.h:240
Array< int > & getCellColorsOther()
Definition: Mesh.h:231
Mesh * createDoubleShell(const int fgId, Mesh &otherMesh, const int otherFgId, const bool connectedShell)
Definition: Mesh.cpp:1772
Mesh * extractBoundaryMesh()
Definition: Mesh.cpp:1122
shared_ptr< Array< int > > _cellColorOther
Definition: Mesh.h:372
GhostArrayMap _recvCounts
Definition: Mesh.h:384
void uniqueFaceCells()
Definition: Mesh.cpp:666
int getCellZoneID() const
Definition: Mesh.h:319
void createScatterGatherIndicesBuffer()
Definition: Mesh.cpp:2124
const ArrayBase & getRecvCounts(const EntryIndex &e) const
Definition: Mesh.h:280
const Array< int > & getCellColors() const
Definition: Mesh.h:229
GhostCellSiteMap _ghostCellSiteGatherMap
Definition: Mesh.h:378
void findCommonNodes(Mesh &other)
Definition: Mesh.cpp:877
shared_ptr< ArrayBase > getNodeCoordinatesPtr()
Definition: Mesh.h:220
void CRConnectivityPrintFile(const CRConnectivity &conn, const string &name, const int procID) const
Definition: Mesh.cpp:2397
vector< FaceGroupPtr > FaceGroupList
Definition: Mesh.h:47
pair< const StorageSite *, const StorageSite * > SSPair
Definition: Mesh.h:60
void setIBFaces(shared_ptr< Array< int > > faceList)
Definition: Mesh.h:290
map< PartIDMeshIDPair, shared_ptr< StorageSite > > GhostCellSiteMap
Definition: Mesh.h:63
multiMap _cellCellsGlobal
Definition: Mesh.h:400
void setCellZoneID(const int id)
Definition: Mesh.h:320
shared_ptr< StorageSite > _cellSiteGhostExt
Definition: Mesh.h:388
map< EntryIndex, shared_ptr< ArrayBase > > GhostArrayMap
Definition: Mesh.h:65
pair< int, int > PartIDMeshIDPair
Definition: Mesh.h:62
const StorageSite & getFaces() const
Definition: Mesh.h:108
void recvScatterGatherIndicesBufferLocal()
Definition: Mesh.cpp:2172
shared_ptr< FaceGroup > _interiorFaceGroup
Definition: Mesh.h:361
FaceGroupList _boundaryGroups
Definition: Mesh.h:363
const CRConnectivity & getCellCells() const
Definition: Mesh.cpp:480
const StorageSite & getCells() const
Definition: Mesh.h:109
void createLocalGlobalArray()
Definition: Mesh.cpp:738
StorageSite _nodes
Definition: Mesh.h:356
const StorageSite * getGhostCellSiteGather(const PartIDMeshIDPair &id) const
Definition: Mesh.h:122
shared_ptr< CRConnectivity > _faceCells2
Definition: Mesh.h:406
const GhostCellSiteMap & getGhostCellSiteScatterMapLevel1() const
Definition: Mesh.h:139
void InterfaceToBoundary()
Definition: Mesh.cpp:2424
const CRConnectivity & getFaceCells(const StorageSite &site) const
Definition: Mesh.cpp:388
GhostCellSiteMap & getGhostCellSiteGatherMapLevel1()
Definition: Mesh.h:148
int _numOfAssembleMesh
Definition: Mesh.h:373
const CRConnectivity & getFaceCells2() const
Definition: Mesh.cpp:633
int getParentMeshID() const
Definition: Mesh.h:326
void createCellColor()
Definition: Mesh.cpp:724
shared_ptr< Array< int > > _repeatNodes
Definition: Mesh.h:395
map< int, int > mapInt
Definition: Mesh.h:58
bool isShell() const
Definition: Mesh.h:323
bool isMergedMesh() const
Definition: Mesh.h:250
const Array< int > & getCellColorsOther() const
Definition: Mesh.h:232
shared_ptr< Array< int > > _localToGlobal
Definition: Mesh.h:397
shared_ptr< Array< int > > _cellColor
Definition: Mesh.h:371
void createGhostCellSiteScatterLevel1(const PartIDMeshIDPair &id, shared_ptr< StorageSite > site)
Definition: Mesh.cpp:708
Vector< double, 3 > VecD3
Definition: Mesh.h:53
const CRConnectivity & getCellCells2() const
Definition: Mesh.cpp:495
shared_ptr< Array< int > > createAndGetBNglobalToLocal() const
Definition: Mesh.cpp:288
void createScatterGatherCountsBuffer()
Definition: Mesh.cpp:2011
void addCRConn()
Definition: Mesh.cpp:2309
StorageSite _cells
Definition: Mesh.h:354
int getNumBounCells()
Definition: Mesh.cpp:2350
GhostCellSiteMap & getGhostCellSiteScatterMapLevel1()
Definition: Mesh.h:142
int _cellZoneID
Definition: Mesh.h:352
GhostArrayMap _sendIndices
Definition: Mesh.h:385
const FaceGroupList & getInterfaceGroups() const
Definition: Mesh.h:190
int _parentMeshID
Definition: Mesh.h:418
bool _isAssembleMesh
Definition: Mesh.h:374
map< int, int > getGlobalToLocalNodes()
Definition: Mesh.h:236
shared_ptr< Array< VecD3 > > _coordinates
Definition: Mesh.h:366
shared_ptr< ArrayBase > getUpdatedNodesCoordCoupling(const GeomFields &geomField, const Mesh &bMesh)
Definition: Mesh.cpp:784
void createCellCellsGhostExt()
Definition: Mesh.cpp:1999
const map< int, int > & getGlobalToLocal() const
Definition: Mesh.h:244
const multiMap & getCellCellsGlobal() const
Definition: Mesh.h:248
StorageSite * _boundaryNodes
Definition: Mesh.h:359
int getDimension() const
Definition: Mesh.h:105
void setCommonFacesMap(const Mesh &bMesh)
Definition: Mesh.cpp:810
const StorageSite * _parentFaceGroupSite
Definition: Mesh.h:416
GhostCellSiteMap & getGhostCellSiteGatherMap()
Definition: Mesh.h:125
StorageSite & getIBFaces()
Definition: Mesh.h:159
map< int, int > _globalToLocalNodes
Definition: Mesh.h:399
FaceGroupList _faceGroups
Definition: Mesh.h:362
const StorageSite * getGhostCellSiteGatherLevel1(const PartIDMeshIDPair &id) const
Definition: Mesh.h:145
DEFINE_TYPENAME("Mesh")
int getID() const
Definition: Mesh.h:106
const CRConnectivity & getCellNodes() const
Definition: Mesh.cpp:426
const GhostCellSiteMap & getGhostCellSiteScatterMap() const
Definition: Mesh.h:116
const ArrayBase & getBNglobalToLocal() const
Definition: Mesh.cpp:346
vector< int > vecList
Definition: Mesh.h:56
void syncIndices()
Definition: Mesh.cpp:2191
vector< Mesh * > MeshList
Definition: Mesh.h:439
void createLocalToGlobalNodesArray()
Definition: Mesh.cpp:745
StorageSite site
Definition: Mesh.h:40
shared_ptr< Array< int > > _localToGlobalNodes
Definition: Mesh.h:396
~Mesh()
Definition: Mesh.cpp:250