meshSurfaceEngineI.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | cfMesh: A library for mesh generation
4  \\ / O peration |
5  \\ / A nd | Author: Franjo Juretic (franjo.juretic@c-fields.com)
6  \\/ M anipulation | Copyright (C) Creative Fields, Ltd.
7 -------------------------------------------------------------------------------
8 License
9  This file is part of cfMesh.
10 
11  cfMesh is free software; you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by the
13  Free Software Foundation; either version 3 of the License, or (at your
14  option) any later version.
15 
16  cfMesh is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with cfMesh. If not, see <http://www.gnu.org/licenses/>.
23 
24 Description
25 
26 \*---------------------------------------------------------------------------*/
27 
28 #include "meshSurfaceEngine.H"
29 #include "demandDrivenData.H"
30 
31 # ifdef USE_OMP
32 #include <omp.h>
33 # endif
34 
35 // #define DEBUGSearch
36 
37 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
38 
39 namespace Foam
40 {
41 
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43 
44 inline const polyMeshGen& meshSurfaceEngine::mesh() const
45 {
46  return mesh_;
47 }
48 
50 {
51  return mesh_.points();
52 }
53 
55 {
56  return mesh_.faces();
57 }
58 
60 {
61  return mesh_.cells();
62 }
63 
64 inline const labelList& meshSurfaceEngine::bp() const
65 {
66  if( !bppPtr_ )
67  {
68  # ifdef USE_OMP
69  if( omp_in_parallel() )
71  (
72  "const labelList& meshSurfaceEngine::bp() const"
73  ) << "Calculating addressing inside a parallel region."
74  << " This is not thread safe" << exit(FatalError);
75  # endif
76 
79  }
80 
81  return *bppPtr_;
82 }
83 
85 {
86  if( !boundaryPointsPtr_ )
87  {
88  # ifdef USE_OMP
89  if( omp_in_parallel() )
91  (
92  "const labelList& meshSurfaceEngine::boundaryPoints() const"
93  ) << "Calculating addressing inside a parallel region."
94  << " This is not thread safe" << exit(FatalError);
95  # endif
96 
98  }
99 
100  return *boundaryPointsPtr_;
101 }
102 
104 {
105  if( !boundaryFacesPtr_ )
106  {
107  # ifdef USE_OMP
108  if( omp_in_parallel() )
110  (
111  "const faceList::subList&"
112  "meshSurfaceEngine::boundaryFaces() const"
113  ) << "Calculating addressing inside a parallel region."
114  << " This is not thread safe" << exit(FatalError);
115  # endif
116 
118  }
119 
120  return *boundaryFacesPtr_;
121 }
122 
124 {
125  if( !boundaryFacePatchPtr_ )
126  {
127  # ifdef USE_OMP
128  if( omp_in_parallel() )
130  (
131  "const labelList&"
132  " meshSurfaceEngine::boundaryFacePatches() const"
133  ) << "Calculating addressing inside a parallel region."
134  << " This is not thread safe" << exit(FatalError);
135  # endif
136 
138  }
139 
140  return *boundaryFacePatchPtr_;
141 }
142 
144 {
146  {
147  # ifdef USE_OMP
148  if( omp_in_parallel() )
150  (
151  "const labelList& meshSurfaceEngine::faceOwners() const"
152  ) << "Calculating addressing inside a parallel region."
153  << " This is not thread safe" << exit(FatalError);
154  # endif
155 
157  }
158 
159  return *boundaryFaceOwnersPtr_;
160 }
161 
163 {
164  if( !pointFacesPtr_ )
165  {
166  # ifdef USE_OMP
167  if( omp_in_parallel() )
169  (
170  "const VRWGraph& meshSurfaceEngine::pointFaces() const"
171  ) << "Calculating addressing inside a parallel region."
172  << " This is not thread safe" << exit(FatalError);
173  # endif
174 
176  }
177 
178  return *pointFacesPtr_;
179 }
180 
182 {
183  if( !pointInFacePtr_ )
184  {
185  # ifdef USE_OMP
186  if( omp_in_parallel() )
188  (
189  "const VRWGraph& meshSurfaceEngine::pointInFaces() const"
190  ) << "Calculating addressing inside a parallel region."
191  << " This is not thread safe" << exit(FatalError);
192  # endif
193 
195  }
196 
197  return *pointInFacePtr_;
198 }
199 /*
200 inline const VRWGraph& meshSurfaceEngine::pointPatches() const
201 {
202  if( !pointPatchesPtr_ )
203  {
204  # ifdef USE_OMP
205  if( omp_in_parallel() )
206  FatalErrorIn
207  (
208  "const VRWGraph& meshSurfaceEngine::pointPatches() const"
209  ) << "Calculating addressing inside a parallel region."
210  << " This is not thread safe" << exit(FatalError);
211  # endif
212 
213  calculatePointPatches();
214  }
215 
216  return *pointPatchesPtr_;
217 }
218 */
219 
221 {
222  if( !pointPointsPtr_ )
223  {
224  # ifdef USE_OMP
225  if( omp_in_parallel() )
227  (
228  "const VRWGraph& meshSurfaceEngine::pointPoints() const"
229  ) << "Calculating addressing inside a parallel region."
230  << " This is not thread safe" << exit(FatalError);
231  # endif
232 
234  }
235 
236  return *pointPointsPtr_;
237 }
238 
240 {
241  if( !pointNormalsPtr_ )
242  {
243  # ifdef USE_OMP
244  if( omp_in_parallel() )
246  (
247  "const vectorField& meshSurfaceEngine::pointNormals() const"
248  ) << "Calculating addressing inside a parallel region."
249  << " This is not thread safe" << exit(FatalError);
250  # endif
251 
253  }
254 
255  return *pointNormalsPtr_;
256 }
257 
259 {
260  if( !faceNormalsPtr_ )
261  {
262  # ifdef USE_OMP
263  if( omp_in_parallel() )
265  (
266  "const vectorField& meshSurfaceEngine::faceNormals() const"
267  ) << "Calculating addressing inside a parallel region."
268  << " This is not thread safe" << exit(FatalError);
269  # endif
270 
272  }
273 
274  return *faceNormalsPtr_;
275 }
276 
278 {
279  if( !faceCentresPtr_ )
280  {
281  # ifdef USE_OMP
282  if( omp_in_parallel() )
284  (
285  "const vectorField& meshSurfaceEngine::faceCentres() const"
286  ) << "Calculating addressing inside a parallel region."
287  << " This is not thread safe" << exit(FatalError);
288  # endif
289 
291  }
292 
293  return *faceCentresPtr_;
294 }
295 
296 inline const edgeList& meshSurfaceEngine::edges() const
297 {
298  if( !edgesPtr_ )
299  {
300  # ifdef USE_OMP
301  if( omp_in_parallel() )
303  (
304  "const edgeList& meshSurfaceEngine::edges() const"
305  ) << "Calculating addressing inside a parallel region."
306  << " This is not thread safe" << exit(FatalError);
307  # endif
308 
310  }
311 
312  return *edgesPtr_;
313 }
314 
316 {
317  if( !bpEdgesPtr_ )
318  {
319  # ifdef USE_OMP
320  if( omp_in_parallel() )
322  (
323  "const VRWGraph& meshSurfaceEngine::boundaryPointEdges() const"
324  ) << "Calculating addressing inside a parallel region."
325  << " This is not thread safe" << exit(FatalError);
326  # endif
327 
329  }
330 
331  return *bpEdgesPtr_;
332 }
333 
335 {
336  if( !edgeFacesPtr_ )
337  {
338  # ifdef USE_OMP
339  if( omp_in_parallel() )
341  (
342  "const VRWGraph& meshSurfaceEngine::edgeFaces() const"
343  ) << "Calculating addressing inside a parallel region."
344  << " This is not thread safe" << exit(FatalError);
345  # endif
346 
348  }
349 
350  return *edgeFacesPtr_;
351 }
352 
354 {
355  if( !faceEdgesPtr_ )
356  {
357  # ifdef USE_OMP
358  if( omp_in_parallel() )
360  (
361  "const VRWGraph& meshSurfaceEngine::faceEdges() const"
362  ) << "Calculating addressing inside a parallel region."
363  << " This is not thread safe" << exit(FatalError);
364  # endif
365 
367  }
368 
369  return *faceEdgesPtr_;
370 }
371 
373 {
374  if( !edgePatchesPtr_ )
375  {
376  # ifdef USE_OMP
377  if( omp_in_parallel() )
379  (
380  "const VRWGraph& meshSurfaceEngine::edgePatches() const"
381  ) << "Calculating addressing inside a parallel region."
382  << " This is not thread safe" << exit(FatalError);
383  # endif
384 
386  }
387 
388  return *edgePatchesPtr_;
389 }
390 
392 {
393  if( !faceFacesPtr_ )
394  {
395  # ifdef USE_OMP
396  if( omp_in_parallel() )
398  (
399  "const VRWGraph& meshSurfaceEngine::faceFaces() const"
400  ) << "Calculating addressing inside a parallel region."
401  << " This is not thread safe" << exit(FatalError);
402  # endif
403 
405  }
406 
407  return *faceFacesPtr_;
408 }
409 
411 {
413  {
414  # ifdef USE_OMP
415  if( omp_in_parallel() )
417  (
418  "const labelList&"
419  " meshSurfaceEngine::globalBoundaryPointLabel() const"
420  ) << "Calculating addressing inside a parallel region."
421  << " This is not thread safe" << exit(FatalError);
422  # endif
423 
425  }
426 
428 }
429 
430 inline const Map<label>&
432 {
434  {
435  # ifdef USE_OMP
436  if( omp_in_parallel() )
438  (
439  "const Map<label>&"
440  " meshSurfaceEngine::globalToLocalBndPointAddressing() const"
441  ) << "Calculating addressing inside a parallel region."
442  << " This is not thread safe" << exit(FatalError);
443  # endif
444 
446  }
447 
449 }
450 
452 {
454  {
455  # ifdef USE_OMP
456  if( omp_in_parallel() )
458  (
459  "const VRWGraph& meshSurfaceEngine::bpAtProcs() const"
460  ) << "Calculating addressing inside a parallel region."
461  << " This is not thread safe" << exit(FatalError);
462  # endif
463 
465  }
466 
467  return *bpProcsPtr_;
468 }
469 
471 {
472  if( !bpNeiProcsPtr_ )
473  {
474  # ifdef USE_OMP
475  if( omp_in_parallel() )
477  (
478  "const DynList<label>& meshSurfaceEngine::bpNeiProcs() const"
479  ) << "Calculating addressing inside a parallel region."
480  << " This is not thread safe" << exit(FatalError);
481  # endif
482 
484  }
485 
486  return *bpNeiProcsPtr_;
487 }
488 
490 {
492  {
493  # ifdef USE_OMP
494  if( omp_in_parallel() )
496  (
497  "const labelList&"
498  " meshSurfaceEngine::globalBoundaryEdgeLabel() const"
499  ) << "Calculating addressing inside a parallel region."
500  << " This is not thread safe" << exit(FatalError);
501  # endif
502 
504  }
505 
507 }
508 
509 inline const Map<label>&
511 {
513  {
514  # ifdef USE_OMP
515  if( omp_in_parallel() )
517  (
518  "const Map<label>&"
519  " meshSurfaceEngine::globalToLocalBndEdgeAddressing() const"
520  ) << "Calculating addressing inside a parallel region."
521  << " This is not thread safe" << exit(FatalError);
522  # endif
523 
525  }
526 
528 }
529 
531 {
533  {
534  # ifdef USE_OMP
535  if( omp_in_parallel() )
537  (
538  "const VRWGraph& meshSurfaceEngine::beAtProcs() const"
539  ) << "Calculating addressing inside a parallel region."
540  << " This is not thread safe" << exit(FatalError);
541  # endif
542 
544  }
545 
546  return *beProcsPtr_;
547 }
548 
550 {
551  if( !beNeiProcsPtr_ )
552  {
553  # ifdef USE_OMP
554  if( omp_in_parallel() )
556  (
557  "const DynList<label>& meshSurfaceEngine::beNeiProcs() const"
558  ) << "Calculating addressing inside a parallel region."
559  << " This is not thread safe" << exit(FatalError);
560  # endif
561 
563  }
564 
565  return *beNeiProcsPtr_;
566 }
567 
569 {
571  {
572  # ifdef USE_OMP
573  if( omp_in_parallel() )
575  (
576  "const Map<label>&"
577  " meshSurfaceEngine::otherEdgeFaceAtProc() const"
578  ) << "Calculating addressing inside a parallel region."
579  << " This is not thread safe" << exit(FatalError);
580  # endif
581 
583  }
584 
585  return *otherEdgeFaceAtProcPtr_;
586 }
587 
589 {
591  {
592  # ifdef USE_OMP
593  if( omp_in_parallel() )
595  (
596  "const Map<label>&"
597  " meshSurfaceEngine::otherEdgeFacePatch() const"
598  ) << "Calculating addressing inside a parallel region."
599  << " This is not thread safe" << exit(FatalError);
600  # endif
601 
603  }
604 
605  return *otherEdgeFacePatchPtr_;
606 }
607 
609 {
611  {
612  # ifdef USE_OMP
613  if( omp_in_parallel() )
615  (
616  "const labelList&"
617  " meshSurfaceEngine::globalBoundaryFaceLabel() const"
618  ) << "Calculating addressing inside a parallel region."
619  << " This is not thread safe" << exit(FatalError);
620  # endif
621 
623  }
624 
626 }
627 
628 
629 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
630 
631 } // End namespace Foam
632 
633 // ************************************************************************* //
Foam::meshSurfaceEngine::faceCentres
const vectorField & faceCentres() const
Definition: meshSurfaceEngineI.H:277
Foam::meshSurfaceEngine::boundaryPointsPtr_
labelList * boundaryPointsPtr_
boundary points
Definition: meshSurfaceEngine.H:64
Foam::meshSurfaceEngine::boundaryPointEdges
const VRWGraph & boundaryPointEdges() const
Definition: meshSurfaceEngineI.H:315
Foam::meshSurfaceEngine::pointFacesPtr_
VRWGraph * pointFacesPtr_
point faces addressing
Definition: meshSurfaceEngine.H:76
Foam::meshSurfaceEngine::bpAtProcs
const VRWGraph & bpAtProcs() const
processors which contain the vertex
Definition: meshSurfaceEngineI.H:451
Foam::meshSurfaceEngine::beAtProcs
const VRWGraph & beAtProcs() const
processors which contain the edges
Definition: meshSurfaceEngineI.H:530
Foam::meshSurfaceEngine::pointInFaces
const VRWGraph & pointInFaces() const
Definition: meshSurfaceEngineI.H:181
Foam::meshSurfaceEngine::bpProcsPtr_
VRWGraph * bpProcsPtr_
boundary point-processors addressing
Definition: meshSurfaceEngine.H:124
Foam::meshSurfaceEngine::bp
const labelList & bp() const
Definition: meshSurfaceEngineI.H:64
Foam::meshSurfaceEngine::faceEdgesPtr_
VRWGraph * faceEdgesPtr_
face edges addressing
Definition: meshSurfaceEngine.H:98
Foam::meshSurfaceEngine::globalBoundaryEdgeLabelPtr_
labelList * globalBoundaryEdgeLabelPtr_
global boundary edge label
Definition: meshSurfaceEngine.H:130
Foam::meshSurfaceEngine::faceCentresPtr_
vectorField * faceCentresPtr_
face centres
Definition: meshSurfaceEngine.H:113
Foam::meshSurfaceEngine::faceNormalsPtr_
vectorField * faceNormalsPtr_
face normals
Definition: meshSurfaceEngine.H:110
Foam::meshSurfaceEngine::globalToLocalBndEdgeAddressing
const Map< label > & globalToLocalBndEdgeAddressing() const
global boundary edge label to local label. Only for processor edges
Definition: meshSurfaceEngineI.H:510
Foam::meshSurfaceEngine::globalBoundaryEdgeLabel
const labelList & globalBoundaryEdgeLabel() const
global boundary edge label
Definition: meshSurfaceEngineI.H:489
Foam::meshSurfaceEngine::calculateEdgePatchesAddressing
void calculateEdgePatchesAddressing() const
Definition: meshSurfaceEngineCalculateBoundaryNodesAndFaces.C:1263
Foam::meshSurfaceEngine::beProcsPtr_
VRWGraph * beProcsPtr_
boundary edge-processors addressing
Definition: meshSurfaceEngine.H:136
Foam::meshSurfaceEngine::globalBoundaryPointLabel
const labelList & globalBoundaryPointLabel() const
global boundary point label
Definition: meshSurfaceEngineI.H:410
Foam::meshSurfaceEngine::calculateFaceCentres
void calculateFaceCentres() const
Definition: meshSurfaceEngineCalculateBoundaryNodesAndFaces.C:789
Foam::meshSurfaceEngine::calculateFaceFacesAddressing
void calculateFaceFacesAddressing() const
Definition: meshSurfaceEngineCalculateBoundaryNodesAndFaces.C:1301
demandDrivenData.H
Template functions to aid in the implementation of demand driven data.
Foam::meshSurfaceEngine::boundaryFacesPtr_
faceList::subList * boundaryFacesPtr_
boundary faces
Definition: meshSurfaceEngine.H:67
Foam::SubList
A List obtained as a section of another List.
Definition: SubList.H:53
Foam::meshSurfaceEngine::globalBoundaryFaceLabel
const labelList & globalBoundaryFaceLabel() const
global boundary face label
Definition: meshSurfaceEngineI.H:608
Foam::meshSurfaceEngine::bpNeiProcs
const DynList< label > & bpNeiProcs() const
communication matrix for sending point data
Definition: meshSurfaceEngineI.H:470
Foam::meshSurfaceEngine::pointFaces
const VRWGraph & pointFaces() const
Definition: meshSurfaceEngineI.H:162
Foam::meshSurfaceEngine::globalBoundaryEdgeToLocalPtr_
Map< label > * globalBoundaryEdgeToLocalPtr_
global boundary edge to local addressing
Definition: meshSurfaceEngine.H:133
Foam::meshSurfaceEngine::boundaryFacePatches
const labelList & boundaryFacePatches() const
patch label for each boundary face
Definition: meshSurfaceEngineI.H:123
Foam::meshSurfaceEngine::faceEdges
const VRWGraph & faceEdges() const
Definition: meshSurfaceEngineI.H:353
Foam::Map< label >
Foam::meshSurfaceEngine::pointPointsPtr_
VRWGraph * pointPointsPtr_
point points addressing
Definition: meshSurfaceEngine.H:86
Foam::polyMeshGen
Definition: polyMeshGen.H:46
Foam::polyMeshGenPoints::points
const pointFieldPMG & points() const
access to points
Definition: polyMeshGenPointsI.H:44
Foam::cellListPMG
Definition: cellListPMG.H:49
Foam::meshSurfaceEngine::otherEdgeFacePatchPtr_
Map< label > * otherEdgeFacePatchPtr_
Definition: meshSurfaceEngine.H:143
Foam::meshSurfaceEngine::faceFaces
const VRWGraph & faceFaces() const
Definition: meshSurfaceEngineI.H:391
Foam::polyMeshGenFaces::faces
const faceListPMG & faces() const
access to faces
Definition: polyMeshGenFacesI.H:43
Foam::meshSurfaceEngine::calculateBoundaryOwners
void calculateBoundaryOwners() const
Definition: meshSurfaceEngineCalculateBoundaryNodesAndFaces.C:106
Foam::meshSurfaceEngine::edgePatches
const VRWGraph & edgePatches() const
Definition: meshSurfaceEngineI.H:372
Foam::meshSurfaceEngine::edgesPtr_
edgeList * edgesPtr_
edges
Definition: meshSurfaceEngine.H:89
Foam::meshSurfaceEngine::calcGlobalBoundaryPointLabels
void calcGlobalBoundaryPointLabels() const
Definition: meshSurfaceEngineParallelAddressing.C:46
Foam::meshSurfaceEngine::boundaryFaces
const faceList::subList & boundaryFaces() const
Definition: meshSurfaceEngineI.H:103
Foam::meshSurfaceEngine::calculatePointPoints
void calculatePointPoints() const
Definition: meshSurfaceEngineCalculateBoundaryNodesAndFaces.C:598
Foam::meshSurfaceEngine::globalBoundaryPointToLocalPtr_
Map< label > * globalBoundaryPointToLocalPtr_
global boundary point to local addressing
Definition: meshSurfaceEngine.H:121
Foam::meshSurfaceEngine::boundaryFacePatchPtr_
labelList * boundaryFacePatchPtr_
patches boundary faces are in
Definition: meshSurfaceEngine.H:70
Foam::Field
Pre-declare SubField and related Field type.
Definition: Field.H:57
Foam::meshSurfaceEngine::bpEdgesPtr_
VRWGraph * bpEdgesPtr_
boundary point-edges addressing
Definition: meshSurfaceEngine.H:92
Foam::meshSurfaceEngine::boundaryFaceOwnersPtr_
labelList * boundaryFaceOwnersPtr_
face owners
Definition: meshSurfaceEngine.H:73
Foam::polyMeshGenCells::cells
const cellListPMG & cells() const
access to cells
Definition: polyMeshGenCellsI.H:39
Foam::meshSurfaceEngine::calculateFaceEdgesAddressing
void calculateFaceEdgesAddressing() const
Definition: meshSurfaceEngineCalculateBoundaryNodesAndFaces.C:1091
Foam::meshSurfaceEngine::otherEdgeFaceAtProc
const Map< label > & otherEdgeFaceAtProc() const
Definition: meshSurfaceEngineI.H:568
Foam::meshSurfaceEngine::beNeiProcs
const DynList< label > & beNeiProcs() const
communication matrix for sending edge data
Definition: meshSurfaceEngineI.H:549
Foam::meshSurfaceEngine::pointNormals
const vectorField & pointNormals() const
Definition: meshSurfaceEngineI.H:239
Foam::meshSurfaceEngine::globalBoundaryPointLabelPtr_
labelList * globalBoundaryPointLabelPtr_
global boundary point label
Definition: meshSurfaceEngine.H:118
Foam::meshSurfaceEngine::points
const pointFieldPMG & points() const
Definition: meshSurfaceEngineI.H:49
Foam::meshSurfaceEngine::calculatePointFaces
void calculatePointFaces() const
Definition: meshSurfaceEngineCalculateBoundaryNodesAndFaces.C:269
Foam::meshSurfaceEngine::calcGlobalBoundaryEdgeLabels
void calcGlobalBoundaryEdgeLabels() const
Definition: meshSurfaceEngineParallelAddressing.C:323
Foam::FatalError
error FatalError
Foam::meshSurfaceEngine::globalBoundaryFaceLabelPtr_
labelList * globalBoundaryFaceLabelPtr_
global label for boundary faces
Definition: meshSurfaceEngine.H:146
Foam::meshSurfaceEngine::pointPoints
const VRWGraph & pointPoints() const
Definition: meshSurfaceEngineI.H:220
Foam::meshSurfaceEngine::bpNeiProcsPtr_
DynList< label > * bpNeiProcsPtr_
neighbour processors for communication when sending point data
Definition: meshSurfaceEngine.H:127
Foam::meshSurfaceEngine::edgeFaces
const VRWGraph & edgeFaces() const
Definition: meshSurfaceEngineI.H:334
Foam
Namespace for OpenFOAM.
Definition: combustionModel.C:30
meshSurfaceEngine.H
Foam::DynList< label >
Foam::meshSurfaceEngine::edges
const edgeList & edges() const
Definition: meshSurfaceEngineI.H:296
Foam::meshSurfaceEngine::calculatePointNormals
void calculatePointNormals() const
Definition: meshSurfaceEngineCalculateBoundaryNodesAndFaces.C:738
Foam::meshSurfaceEngine::calculateFaceNormals
void calculateFaceNormals() const
Definition: meshSurfaceEngineCalculateBoundaryNodesAndFaces.C:771
Foam::exit
errorManipArg< error, int > exit(error &err, const int errNo=1)
Definition: errorManip.H:124
Foam::meshSurfaceEngine::bppPtr_
labelList * bppPtr_
pointBoundaryPoint addressing
Definition: meshSurfaceEngine.H:83
Foam::meshSurfaceEngine::mesh_
polyMeshGen & mesh_
reference to the mesh
Definition: meshSurfaceEngine.H:58
Foam::meshSurfaceEngine::calculateEdgesAndAddressing
void calculateEdgesAndAddressing() const
Definition: meshSurfaceEngineCalculateBoundaryNodesAndFaces.C:885
Foam::List
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Definition: HashTable.H:59
Foam::meshSurfaceEngine::calculateBoundaryFaces
void calculateBoundaryFaces() const
calculate boundary nodes, faces and addressing
Definition: meshSurfaceEngineCalculateBoundaryNodesAndFaces.C:50
Foam::meshSurfaceEngine::calculateBoundaryFacePatches
void calculateBoundaryFacePatches() const
Definition: meshSurfaceEngineCalculateBoundaryNodesAndFaces.C:250
Foam::meshSurfaceEngine::otherEdgeFaceAtProcPtr_
Map< label > * otherEdgeFaceAtProcPtr_
processor containing other face and face-patch addressing
Definition: meshSurfaceEngine.H:142
Foam::meshSurfaceEngine::calcAddressingForProcEdges
void calcAddressingForProcEdges() const
Definition: meshSurfaceEngineParallelAddressing.C:661
Foam::meshSurfaceEngine::pointNormalsPtr_
vectorField * pointNormalsPtr_
point normals
Definition: meshSurfaceEngine.H:107
Foam::meshSurfaceEngine::calculateEdgeFacesAddressing
void calculateEdgeFacesAddressing() const
Definition: meshSurfaceEngineCalculateBoundaryNodesAndFaces.C:1157
Foam::meshSurfaceEngine::boundaryPoints
const labelList & boundaryPoints() const
Definition: meshSurfaceEngineI.H:84
FatalErrorIn
#define FatalErrorIn(functionName)
Report an error message using Foam::FatalError.
Definition: error.H:313
Foam::meshSurfaceEngine::globalToLocalBndPointAddressing
const Map< label > & globalToLocalBndPointAddressing() const
global point label to local label. Only for processors points
Definition: meshSurfaceEngineI.H:431
Foam::meshSurfaceEngine::otherEdgeFacePatch
const Map< label > & otherEdgeFacePatch() const
Definition: meshSurfaceEngineI.H:588
Foam::faceListPMG
Definition: faceListPMG.H:50
Foam::pointFieldPMG
Definition: pointFieldPMG.H:50
Foam::VRWGraph
Definition: VRWGraph.H:101
Foam::meshSurfaceEngine::edgeFacesPtr_
VRWGraph * edgeFacesPtr_
edge faces addressing
Definition: meshSurfaceEngine.H:95
Foam::meshSurfaceEngine::faceNormals
const vectorField & faceNormals() const
Definition: meshSurfaceEngineI.H:258
Foam::meshSurfaceEngine::calcGlobalBoundaryFaceLabels
void calcGlobalBoundaryFaceLabels() const
Definition: meshSurfaceEngineParallelAddressing.C:772
Foam::meshSurfaceEngine::mesh
const polyMeshGen & mesh() const
Definition: meshSurfaceEngineI.H:44
Foam::meshSurfaceEngine::pointInFacePtr_
VRWGraph * pointInFacePtr_
Definition: meshSurfaceEngine.H:77
Foam::meshSurfaceEngine::calculateBoundaryNodes
void calculateBoundaryNodes() const
Definition: meshSurfaceEngineCalculateBoundaryNodesAndFaces.C:126
Foam::meshSurfaceEngine::edgePatchesPtr_
VRWGraph * edgePatchesPtr_
edge-patches addressing
Definition: meshSurfaceEngine.H:101
Foam::meshSurfaceEngine::cells
const cellListPMG & cells() const
Definition: meshSurfaceEngineI.H:59
Foam::meshSurfaceEngine::beNeiProcsPtr_
DynList< label > * beNeiProcsPtr_
neighbour processors for communication when sending edge data
Definition: meshSurfaceEngine.H:139
Foam::meshSurfaceEngine::faceFacesPtr_
VRWGraph * faceFacesPtr_
face-faces addressing
Definition: meshSurfaceEngine.H:104
Foam::meshSurfaceEngine::faceOwners
const labelList & faceOwners() const
Definition: meshSurfaceEngineI.H:143
Foam::meshSurfaceEngine::faces
const faceListPMG & faces() const
Definition: meshSurfaceEngineI.H:54